41
43
static uint32_t set_max_open_files(uint32_t max_file_limit)
46
48
if (!getrlimit(RLIMIT_NOFILE,&rlimit))
49
51
if (rlimit.rlim_cur == RLIM_INFINITY)
50
52
rlimit.rlim_cur = max_file_limit;
51
53
if (rlimit.rlim_cur >= max_file_limit)
53
60
rlimit.rlim_cur= rlimit.rlim_max= max_file_limit;
54
61
if (setrlimit(RLIMIT_NOFILE, &rlimit))
58
65
rlimit.rlim_cur= 0; /* Safety if next call fails */
59
66
(void) getrlimit(RLIMIT_NOFILE,&rlimit);
60
67
if (rlimit.rlim_cur) /* If call didn't fail */