aboutsummaryrefslogtreecommitdiff
path: root/posix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-04-04 18:51:36 +0000
committerUlrich Drepper <drepper@redhat.com>2007-04-04 18:51:36 +0000
commitb4afdd0651ac787cb19423835a95d1972cb49d24 (patch)
tree1321ef4484969ce93fd4d26406a006334ad47237 /posix
parenteab1bdfb8ef2902e7b68352d6ce1b5d603597e36 (diff)
downloadglibc-b4afdd0651ac787cb19423835a95d1972cb49d24.zip
glibc-b4afdd0651ac787cb19423835a95d1972cb49d24.tar.gz
glibc-b4afdd0651ac787cb19423835a95d1972cb49d24.tar.bz2
* bits/sched.h: Define __CPU_COUNT. Declare __sched_cpucount.
* sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * posix/sched.h: Define CPU_COUNT.
Diffstat (limited to 'posix')
-rw-r--r--posix/sched.h13
-rw-r--r--posix/sched_cpucount.c4
2 files changed, 9 insertions, 8 deletions
diff --git a/posix/sched.h b/posix/sched.h
index 7cfdbf1..becad0f 100644
--- a/posix/sched.h
+++ b/posix/sched.h
@@ -1,5 +1,5 @@
/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
- Copyright (C) 1996,1997,1999,2001-2003,2004 Free Software Foundation, Inc.
+ Copyright (C) 1996,1997,1999,2001-2004,2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -65,11 +65,12 @@ extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
#ifdef __USE_GNU
/* Access macros for `cpu_set'. */
-#define CPU_SETSIZE __CPU_SETSIZE
-#define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)
-#define CPU_CLR(cpu, cpusetp) __CPU_CLR (cpu, cpusetp)
-#define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
-#define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
+# define CPU_SETSIZE __CPU_SETSIZE
+# define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)
+# define CPU_CLR(cpu, cpusetp) __CPU_CLR (cpu, cpusetp)
+# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
+# define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
+# define CPU_COUNT(cpusetp) __CPU_COUNT (cpusetp)
/* Set the CPU affinity for a task */
diff --git a/posix/sched_cpucount.c b/posix/sched_cpucount.c
index 8404e8f..d7f6b7b 100644
--- a/posix/sched_cpucount.c
+++ b/posix/sched_cpucount.c
@@ -21,10 +21,10 @@
int
-__sched_cpucount (cpu_set_t *setp)
+__sched_cpucount (size_t setsize, cpu_set_t *setp)
{
int s = 0;
- for (unsigned int j = 0; j < __CPU_SETSIZE / __NCPUBITS; ++j)
+ for (unsigned int j = 0; j < setsize / sizeof (__cpu_mask); ++j)
{
__cpu_mask l = setp->__bits[j];
if (l == 0)