F19: getting number of cores, cachesize, etc.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am running the latest updated F19 and have the following code (see
below) from a GPL'ed program (not written by me) which involves getting
the number of cores and the cache size. The program compiles and runs
fine (no valgrind errors) on i686 architecture but not on the newer
x86_64. I have localized the problem to here, because if I explicitly
give the numbers by hand, there is not an issue (there are no valgrind
errors). Any suggestions as to what is going wrong and how to fix this? 

Many thanks for any help and best wishes,
Ranjan

Here is the code: 

#define SIZE_T int

SIZE_T get_nb_cores()
{
	SIZE_T n = 0;
	char line[BS];
	FILE *fp;
	if ((fp = fopen("/proc/cpuinfo","r")) == NULL) return (1);
	while (fgets(line,BS,fp)) n += !strncmp(line,"processor",9);
	return(n);
}

SIZE_T get_cache_size()
{
	SIZE_T n = 512;
	char line[BS],c;
	FILE *fp;
	if ((fp = fopen("/proc/cpuinfo","r")) == NULL) return (1);
	while (fgets(line,BS,fp))
		if (!strncmp(line,"cache size",10)) sscanf(line+11,"%c %
d",&c,&n); return(n*1024);
}

The valgrind errors go like this:

.....................

==17144== Warning: invalid file descriptor 1031 in syscall open()

.....................

==17144==    at 0x4A06409: malloc
(in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==17144==    by 0x3EBCC6C3CC: __fopen_internal
(in /usr/lib64/libc-2.17.so) ==17144==    by 0x4149A5: get_nb_cores
(knnp.c:112)

.....................

==17144==    at 0x4A06409: malloc
(in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==17144==
by 0x3EBCC6C3CC: __fopen_internal (in /usr/lib64/libc-2.17.so)
==17144==    by 0x414A20: get_cache_size (knnp.c:122)

____________________________________________________________
FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop!
Check it out at http://www.inbox.com/marineaquarium


-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org




[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux