[Python-checkins] cpython (3.2): Issue #9586: Redefine SEM_FAILED on MacOSX to keep compiler happy.
richard.oudkerk
python-checkins at python.org
Tue Jan 1 18:54:15 CET 2013
http://hg.python.org/cpython/rev/a5b49db3383d
changeset: 81191:a5b49db3383d
branch: 3.2
parent: 81172:5530251d9cac
user: Richard Oudkerk <shibturn at gmail.com>
date: Tue Jan 01 17:29:44 2013 +0000
summary:
Issue #9586: Redefine SEM_FAILED on MacOSX to keep compiler happy.
files:
Misc/NEWS | 2 ++
Modules/_multiprocessing/semaphore.c | 7 +++++++
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -189,6 +189,8 @@
Library
-------
+- Issue #9586: Redefine SEM_FAILED on MacOSX to keep compiler happy.
+
- Issue 10527: make multiprocessing use poll() instead of select() if available.
- Issue #16485: Fix file descriptor not being closed if file header patching
diff --git a/Modules/_multiprocessing/semaphore.c b/Modules/_multiprocessing/semaphore.c
--- a/Modules/_multiprocessing/semaphore.c
+++ b/Modules/_multiprocessing/semaphore.c
@@ -197,6 +197,13 @@
#define SEM_GETVALUE(sem, pval) sem_getvalue(sem, pval)
#define SEM_UNLINK(name) sem_unlink(name)
+/* OS X 10.4 defines SEM_FAILED as -1 instead of (sem_t *)-1; this gives
+ compiler warnings, and (potentially) undefined behaviour. */
+#ifdef __APPLE__
+# undef SEM_FAILED
+# define SEM_FAILED ((sem_t *)-1)
+#endif
+
#ifndef HAVE_SEM_UNLINK
# define sem_unlink(name) 0
#endif
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list