From: Ulrich Drepper Date: Sat, 6 Dec 2008 05:40:29 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S): Handle large X-Git-Tag: cvs/fedora-glibc-20090102T0809~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25a34eb737fa25391f8c6d2915fff80b218a1524;p=thirdparty%2Fglibc.git * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S): Handle large sets correctly. (__CPU_CLR_S): Likewise. (__CPU_ISSET_S): Likewise. --- diff --git a/ChangeLog b/ChangeLog index ab3454f96d3..d02615b78e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-12-05 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S): Handle large + sets correctly. + (__CPU_CLR_S): Likewise. + (__CPU_ISSET_S): Likewise. + 2008-12-05 Joseph Myers Ulrich Drepper diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h index 8f694d70c4e..696b8ddf0ac 100644 --- a/sysdeps/unix/sysv/linux/bits/sched.h +++ b/sysdeps/unix/sysv/linux/bits/sched.h @@ -140,17 +140,22 @@ typedef struct (__extension__ \ ({ size_t __cpu = (cpu); \ __cpu < 8 * (setsize) \ - ? ((cpusetp)->__bits[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; })) + ? (((cpu_set_t *) (cpusetp))->__bits[__CPUELT (__cpu)] \ + |= __CPUMASK (__cpu)) \ + : 0; })) # define __CPU_CLR_S(cpu, setsize, cpusetp) \ (__extension__ \ ({ size_t __cpu = (cpu); \ __cpu < 8 * (setsize) \ - ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; })) + ? (((cpu_set_t *) (cpusetp))->__bits[__CPUELT (__cpu)] \ + &= ~__CPUMASK (__cpu)) \ + : 0; })) # define __CPU_ISSET_S(cpu, setsize, cpusetp) \ (__extension__ \ ({ size_t __cpu = (cpu); \ __cpu < 8 * (setsize) \ - ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 \ + ? ((((cpu_set_t *) (cpusetp))->__bits[__CPUELT (__cpu)] \ + & __CPUMASK (__cpu))) != 0 \ : 0; })) # define __CPU_COUNT_S(setsize, cpusetp) \