blob: e9c15cb665ca222808bc3c43d10ef1757ee1b6f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include <unistd.h>
#include <errno.h>
#include <limits.h>
#include <sys/resource.h>
extern int __sc_nr_cpus();
long sysconf(int name)
{
switch(name)
{
case _SC_OPEN_MAX:
{
struct rlimit limit;
getrlimit(RLIMIT_NOFILE, &limit);
return limit.rlim_cur;
}
case _SC_CLK_TCK:
#ifdef __alpha__
return 1024;
#else
return 100;
#endif
case _SC_PAGESIZE:
#if ( defined(__alpha__) || defined(__sparc__) )
return 8192;
#else
return 4096;
#endif
case _SC_ARG_MAX:
return ARG_MAX;
case _SC_NGROUPS_MAX:
return NGROUPS_MAX;
case _SC_NPROCESSORS_ONLN:
return __sc_nr_cpus();
}
return -1;
}
|