我想增加我的C程序可用的文件描述符的最大数量,这个程序运行在OSX 10.7系统上。我已经向我的项目中添加了以下代码,但它并没有起作用!
它会打印出以下日志:
最大限制看起来有点太高了。出了什么问题?
struct rlimit limit;
if(getrlimit(RLIMIT_NOFILE, &limit))
{
perror("Failed to get limit");
return -1;
}
printf("%llu, %llu\n", limit.rlim_cur, limit.rlim_max);
limit.rlim_cur *= 4;
printf("%llu, %llu\n", limit.rlim_cur, limit.rlim_max);
if(setrlimit(RLIMIT_NOFILE, &limit))
{
perror("Failed to set limit");
return -1;
}
它会打印出以下日志:
4864, 9223372036854775807
19456, 9223372036854775807
Failed to set limit: Invalid argument
最大限制看起来有点太高了。出了什么问题?
errno
值来指定错误。 - fasked