34 #include <sys/resource.h>
37 #ifdef USE_MAX_FILES_PER_PROC
38 #include <sys/sysctl.h>
39 #define MAX_FILES_PER_PROC "kern.maxfilesperproc"
51 #define RLIMIT_NOFILE RLIMIT_OFILE
68 if (getrlimit(RLIMIT_NOFILE, &rl) < 0)
76 #ifdef USE_MAX_FILES_PER_PROC
77 int max_files_per_proc;
78 size_t len =
sizeof(max_files_per_proc);
80 if (sysctlbyname(MAX_FILES_PER_PROC, &max_files_per_proc, &len,
81 (
void *) 0, (
size_t) 0) < 0)
83 if (limit > max_files_per_proc)
84 limit = max_files_per_proc;
86 if (limit > rl.rlim_max)
87 rl.rlim_cur = rl.rlim_max;
90 if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
97 return (getdtablesize());
int open_limit(int limit)