fc5 C system call always returning -1
Dave Jones
davej at redhat.com
Fri Sep 22 00:40:46 UTC 2006
On Thu, Sep 21, 2006 at 05:21:40PM -0700, Greg Frinchaboy wrote:
> This may be an old issue but I could not find info in the archives.
>
> u_int num_cpus = system("cat /proc/cpuinfo | grep -c processor >
> /dev/null");
>
> Has yielded the number of cpus on the system since I used it in RH7.3
> and fc3.
> Now in fc5, all uses of system("cmd"); return -1
>
> The command executes OK, just the return value is always -1.
>
> u_int num_cpus = system("cat /proc/cpuinfo");
> dumps the cpuinfo file to the system console
>
> u_int num_cpus = system("cat /proc/cpuinfo | grep -c processor");
> dumps a 2 to the system console, etc.
>
> Any help would be appreciated...
u_int num_cpus = sysconf(_SC_NPROCESSORS_CONF);
should always do the right thing. Your grep won't.
(hint: There are CPUs that have the string 'processor'
in the model name field of /proc/cpuinfo
Dave
More information about the fedora-list
mailing list