[PATCH] Cygwin: fix CPU_SET macro visibility
Mark Geisert
mark@maxrnd.com
Sat Sep 14 04:58:00 GMT 2019
The CPU_SET macros defined in Cygwin's include/sys/cpuset.h must not
be visible in an application's namespace unless _GNU_SOURCE has been
#defined. Internally this means wrapping them in #if __GNU_VISIBLE.
---
winsup/cygwin/include/sys/cpuset.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/winsup/cygwin/include/sys/cpuset.h b/winsup/cygwin/include/sys/cpuset.h
index 2056f6af7..1adf48d54 100644
--- a/winsup/cygwin/include/sys/cpuset.h
+++ b/winsup/cygwin/include/sys/cpuset.h
@@ -26,6 +26,7 @@ typedef struct
__cpu_mask __bits[__CPU_GROUPMAX];
} cpu_set_t;
+#if __GNU_VISIBLE
int __sched_getaffinity_sys (pid_t, size_t, cpu_set_t *);
/* These macros alloc or free dynamically-sized cpu sets of size 'num' cpus.
@@ -88,6 +89,8 @@ int __sched_getaffinity_sys (pid_t, size_t, cpu_set_t *);
#define CPU_XOR(dst, src1, src2) CPU_XOR_S(sizeof (cpu_set_t), dst, src1, src2)
#define CPU_EQUAL(src1, src2) CPU_EQUAL_S(sizeof (cpu_set_t), src1, src2)
+#endif /* __GNU_VISIBLE */
+
#ifdef __cplusplus
}
#endif
--
2.21.0
More information about the Cygwin-patches
mailing list