[newlib-cygwin] sched: Move Cygwin cpuset definitions into Cygwin-specific header

Corinna Vinschen corinna@sourceware.org
Fri Jun 28 14:15:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=383e19ca552234fa9af47e80cb00d843a96de9e3

commit 383e19ca552234fa9af47e80cb00d843a96de9e3
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Wed Jun 26 15:08:57 2019 +0200

    sched: Move Cygwin cpuset definitions into Cygwin-specific header
    
    This avoids build breakage on RTEMS.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 newlib/libc/include/sched.h               | 18 ------------------
 winsup/cygwin/include/sys/_pthreadtypes.h |  5 +++--
 winsup/cygwin/include/sys/cpuset.h        | 25 +++++++++++++++++++++++++
 3 files changed, 28 insertions(+), 20 deletions(-)

diff --git a/newlib/libc/include/sched.h b/newlib/libc/include/sched.h
index fc44209..79b775e 100644
--- a/newlib/libc/include/sched.h
+++ b/newlib/libc/include/sched.h
@@ -93,24 +93,6 @@ int sched_yield( void );
 #if __GNU_VISIBLE
 int sched_getcpu(void);
 
-/* Affinity-related definitions, here until numerous enough to separate out */
-#ifdef __x86_64__
-typedef uint64_t __cpu_mask;
-#else
-typedef uint32_t __cpu_mask;
-#endif
-#define __CPU_SETSIZE 1024  // maximum number of logical processors tracked
-#define __NCPUBITS (8 * sizeof (__cpu_mask))  // max size of processor group
-#define __CPU_GROUPMAX (__CPU_SETSIZE / __NCPUBITS)  // maximum group number
-
-#define __CPUELT(cpu)	((cpu) / __NCPUBITS)
-#define __CPUMASK(cpu)	((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
-
-typedef struct
-{
-  __cpu_mask __bits[__CPU_GROUPMAX];
-} cpu_set_t;
-
 int sched_getaffinity (pid_t, size_t, cpu_set_t *);
 int sched_get_thread_affinity (void *, size_t, cpu_set_t *);
 int sched_setaffinity (pid_t, size_t, const cpu_set_t *);
diff --git a/winsup/cygwin/include/sys/_pthreadtypes.h b/winsup/cygwin/include/sys/_pthreadtypes.h
index 3063e83..e951fee 100644
--- a/winsup/cygwin/include/sys/_pthreadtypes.h
+++ b/winsup/cygwin/include/sys/_pthreadtypes.h
@@ -1,5 +1,4 @@
-/* machine/types.h
-   Written by Robert Collins <rbtcollins@hotmail.com>
+/* sys/_pthreadtypes.h
 
 This file is part of Cygwin.
 
@@ -10,6 +9,8 @@ details. */
 #ifndef _SYS__PTHREADTYPES_H_
 #define	_SYS__PTHREADTYPES_H_
 
+#include <sys/cpuset.h>
+
 #if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus)
 
 typedef struct __pthread_t {char __dummy;} *pthread_t;
diff --git a/winsup/cygwin/include/sys/cpuset.h b/winsup/cygwin/include/sys/cpuset.h
new file mode 100644
index 0000000..a83163d
--- /dev/null
+++ b/winsup/cygwin/include/sys/cpuset.h
@@ -0,0 +1,25 @@
+/* sys/cpuset.h
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#ifndef _SYS_CPUSET_H_
+#define _SYS_CPUSET_H_
+
+typedef __SIZE_TYPE__ __cpu_mask;
+#define __CPU_SETSIZE 1024  // maximum number of logical processors tracked
+#define __NCPUBITS (8 * sizeof (__cpu_mask))  // max size of processor group
+#define __CPU_GROUPMAX (__CPU_SETSIZE / __NCPUBITS)  // maximum group number
+
+#define __CPUELT(cpu)   ((cpu) / __NCPUBITS)
+#define __CPUMASK(cpu)  ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
+
+typedef struct
+{
+  __cpu_mask __bits[__CPU_GROUPMAX];
+} cpu_set_t;
+
+#endif /* _SYS_CPUSET_H_ */



More information about the Cygwin-cvs mailing list