ntdll: Use the MacOS file handle limit workaround from libs/wine/loader.c.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49624
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Stefan Dösinger 2020-09-14 15:59:02 +03:00 committed by Alexandre Julliard
parent 0dd6f1ef35
commit 4d33a0410e
1 changed files with 12 additions and 1 deletions

View File

@ -212,7 +212,18 @@ static void set_max_limit( int limit )
if (!getrlimit( limit, &rlimit ))
{
rlimit.rlim_cur = rlimit.rlim_max;
setrlimit( limit, &rlimit );
if (setrlimit( limit, &rlimit ) != 0)
{
#if defined(__APPLE__) && defined(RLIMIT_NOFILE) && defined(OPEN_MAX)
/* On Leopard, setrlimit(RLIMIT_NOFILE, ...) fails on attempts to set
* rlim_cur above OPEN_MAX (even if rlim_max > OPEN_MAX). */
if (limit == RLIMIT_NOFILE && rlimit.rlim_cur > OPEN_MAX)
{
rlimit.rlim_cur = OPEN_MAX;
setrlimit( limit, &rlimit );
}
#endif
}
}
}