summaryrefslogtreecommitdiff
path: root/bits
diff options
context:
space:
mode:
Diffstat (limited to 'bits')
-rw-r--r--bits/sched.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/bits/sched.h b/bits/sched.h
index fc754bff51..91b6dca0ca 100644
--- a/bits/sched.h
+++ b/bits/sched.h
@@ -35,16 +35,18 @@ struct sched_param
};
+#if defined _SCHED_H && !defined __cpu_set_t_defined
+# define __cpu_set_t_defined
/* Size definition for CPU sets. */
-#define __CPU_SETSIZE 1024
-#define __NCPUBITS (8 * sizeof (__cpu_mask))
+# define __CPU_SETSIZE 1024
+# define __NCPUBITS (8 * sizeof (__cpu_mask))
/* Type for array elements in 'cpu_set'. */
typedef unsigned long int __cpu_mask;
/* Basic access functions. */
-#define __CPUELT(cpu) ((cpu) / __NCPUBITS)
-#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
+# define __CPUELT(cpu) ((cpu) / __NCPUBITS)
+# define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
/* Data structure to describe CPU mask. */
typedef struct
@@ -53,16 +55,17 @@ typedef struct
} cpu_set_t;
/* Access functions for CPU masks. */
-#define __CPU_ZERO(cpusetp) \
+# define __CPU_ZERO(cpusetp) \
do { \
unsigned int __i; \
cpu_set *__arr = (cpusetp); \
for (__i = 0; __i < sizeof (cpu_set) / sizeof (__cpu_mask); ++__i) \
__arr->__bits[__i] = 0; \
} while (0)
-#define __CPU_SET(cpu, cpusetp) \
+# define __CPU_SET(cpu, cpusetp) \
((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))
-#define __CPU_CLR(cpu, cpusetp) \
+# define __CPU_CLR(cpu, cpusetp) \
((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
-#define __CPU_ISSET(cpu, cpusetp) \
+# define __CPU_ISSET(cpu, cpusetp) \
(((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
+#endif