|
From: <gne...@us...> - 2008-03-22 17:43:44
|
Update of /cvsroot/aolserver/aolserver/nsd In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv28472 Modified Files: fd.c Log Message: - fix for Mac OS X Leopard: setrlimit with RLIM_INFINITY fails and causes Ns_Log to crash (fix was sketched by David Caruso on the aolserver mailing list on Jan 10, 2008) Index: fd.c =================================================================== RCS file: /cvsroot/aolserver/aolserver/nsd/fd.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** fd.c 8 Oct 2005 20:20:51 -0000 1.12 --- fd.c 22 Mar 2008 17:43:39 -0000 1.13 *************** *** 126,132 **** } else { if (rl.rlim_cur != rl.rlim_max) { ! rl.rlim_cur = rl.rlim_max; if (setrlimit(RLIMIT_NOFILE, &rl) != 0) { ! Ns_Log(Warning, "fd: setrlimit(RLIMIT_NOFILE, %d) failed: %s", rl.rlim_max, strerror(errno)); } --- 126,140 ---- } else { if (rl.rlim_cur != rl.rlim_max) { ! #if defined(__APPLE__) && defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1040 ! if (rl.rlim_max == RLIM_INFINITY) { ! rl.rlim_cur = OPEN_MAX < rl.rlim_max ? OPEN_MAX : rl.rlim_max; ! } else { ! rl.rlim_cur = rl.rlim_max; ! } ! #else ! rl.rlim_cur = rl.rlim_max; ! #endif if (setrlimit(RLIMIT_NOFILE, &rl) != 0) { ! Ns_Log(Warning, "fd: setrlimit(RLIMIT_NOFILE, %lld) failed: %s", rl.rlim_max, strerror(errno)); } |