Index: Modules/_multiprocessing/semaphore.c =================================================================== --- Modules/_multiprocessing/semaphore.c (revision 83935) +++ Modules/_multiprocessing/semaphore.c (working copy) @@ -204,6 +204,15 @@ #ifndef HAVE_SEM_TIMEDWAIT # define sem_timedwait(sem,deadline) sem_timedwait_save(sem,deadline,_save) +/* OS X 10.4 defines SEM_FAILED as -1 instead of (sem_t *)-1; this gives + compliler warnings, and (potentially) undefined behaviour. */ +#ifdef __APPLE__ +#ifdef SEM_FAILED +#undef SEM_FAILED +#endif +#define SEM_FAILED ((sem_t *)-1) +#endif + int sem_timedwait_save(sem_t *sem, struct timespec *deadline, PyThreadState *_save) {