diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c --- a/Modules/_multiprocessing/multiprocessing.c +++ b/Modules/_multiprocessing/multiprocessing.c @@ -123,17 +123,17 @@ multiprocessing_send(PyObject *self, PyO */ static PyMethodDef module_methods[] = { #ifdef MS_WINDOWS {"closesocket", multiprocessing_closesocket, METH_VARARGS, ""}, {"recv", multiprocessing_recv, METH_VARARGS, ""}, {"send", multiprocessing_send, METH_VARARGS, ""}, #endif -#if !defined(POSIX_SEMAPHORES_NOT_ENABLED) && !defined(__ANDROID__) +#if !defined(POSIX_SEMAPHORES_NOT_ENABLED) {"sem_unlink", _PyMp_sem_unlink, METH_VARARGS, ""}, #endif {NULL} }; /* * Initialize diff --git a/Modules/_multiprocessing/semaphore.c b/Modules/_multiprocessing/semaphore.c --- a/Modules/_multiprocessing/semaphore.c +++ b/Modules/_multiprocessing/semaphore.c @@ -189,17 +189,17 @@ semlock_release(SemLockObject *self, PyO /* 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 +#if !defined(HAVE_SEM_UNLINK) || defined(__ANDROID__) # define sem_unlink(name) 0 #endif #ifndef HAVE_SEM_TIMEDWAIT # define sem_timedwait(sem,deadline) sem_timedwait_save(sem,deadline,_save) static int sem_timedwait_save(sem_t *sem, struct timespec *deadline, PyThreadState *_save)