在以下代码中:
139 struct rlimit limit;
140
141 method = "rlimit";
142 if (getrlimit(RLIMIT_NOFILE, &limit) < 0) {
143 perror("calling getrlimit");
144 exit(1);
145 }
146
147 /* set the current to the maximum or specified value */
148 if (max_desired_fds)
149 limit.rlim_cur = max_desired_fds;
150 else {
151 limit.rlim_cur = limit.rlim_max;
152 }
153
154 if (setrlimit(RLIMIT_NOFILE, &limit) < 0) {
155 perror("calling setrlimit");
156 exit(1);
157 }
setrlimit 行失败(我收到错误“调用 setrlimit”)。进一步调查表明,它limit.rlim_max
是 -1,这不是一个有效值。任何想法为什么会这样?这是在 Mac OSX 上。