Merge pull request #1230 from martin-frbg/rhel5

Add sched_getcpu implementation for pre-2.6 glibc
This commit is contained in:
Martin Kroeker 2017-07-09 13:16:16 +02:00 committed by GitHub
commit 3db2adf872
1 changed files with 19 additions and 2 deletions

View File

@ -354,6 +354,24 @@ static int numa_check(void) {
return common -> num_nodes;
}
#if defined(__GLIBC_PREREQ)
#if !__GLIBC_PREREQ(2, 6)
int sched_getcpu(void)
{
int cpu;
FILE *fp = NULL;
if ( (fp = fopen("/proc/self/stat", "r")) == NULL)
return -1;
if ( fscanf( fp, "%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%*s%d", &cpu) != 1) {
fclose (fp);
return -1;
}
fclose (fp);
return(cpu);
}
#endif
#endif
static void numa_mapping(void) {
int node, cpu, core;
@ -808,7 +826,6 @@ void gotoblas_affinity_init(void) {
common -> shmid = pshmid;
if (common -> magic != SH_MAGIC) {
#ifdef DEBUG
fprintf(stderr, "Shared Memory Initialization.\n");
#endif