summaryrefslogtreecommitdiff
path: root/libpthread
diff options
context:
space:
mode:
authorRomain Naour <romain.naour@gmail.com>2016-11-05 19:55:43 +0100
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-11-17 19:54:02 +0100
commit79c4017f3518cd30afb59a170717c1e754eedadf (patch)
treeb79955ff3e2ee8c461897cedf2144571d6ea1cb2 /libpthread
parent2d2aa1bd7074222d9d54232b2d96eae1d2aab7ae (diff)
libpthread: remove pthread_atfork for noMMU target
There is not possible to use use fork() on noMMU target, so exporting pthread_atfork() for such target is useless. A program using pthread_atfork() will likely fail at runtime due to the error code returned by this function. Signed-off-by: Romain Naour <romain.naour@gmail.com>
Diffstat (limited to 'libpthread')
-rw-r--r--libpthread/linuxthreads/ptfork.c14
-rw-r--r--libpthread/linuxthreads/sysdeps/pthread/pthread.h2
2 files changed, 2 insertions, 14 deletions
diff --git a/libpthread/linuxthreads/ptfork.c b/libpthread/linuxthreads/ptfork.c
index 6f1e2d3c9..74d630830 100644
--- a/libpthread/linuxthreads/ptfork.c
+++ b/libpthread/linuxthreads/ptfork.c
@@ -150,18 +150,4 @@ static pid_t __fork(void)
strong_alias(__fork,fork)
strong_alias(__fork,vfork)
-#else
-
-/* We can't support pthread_atfork without MMU, since we don't have
- fork(), and we can't offer the correct semantics for vfork(). */
-int pthread_atfork(void (*prepare)(void),
- void (*parent)(void),
- void (*child)(void))
-{
- /* ENOMEM is probably pushing it a little bit.
- Take it as `no *virtual* memory' :-) */
- errno = ENOMEM;
- return -1;
-}
-
#endif
diff --git a/libpthread/linuxthreads/sysdeps/pthread/pthread.h b/libpthread/linuxthreads/sysdeps/pthread/pthread.h
index cc13a529b..0d175025b 100644
--- a/libpthread/linuxthreads/sysdeps/pthread/pthread.h
+++ b/libpthread/linuxthreads/sysdeps/pthread/pthread.h
@@ -697,6 +697,7 @@ extern int pthread_getcpuclockid (pthread_t __thread_id,
/* Functions for handling process creation and process execution. */
+#ifdef __ARCH_USE_MMU__
/* Install handlers to be called when a new process is created with FORK.
The PREPARE handler is called in the parent process just before performing
FORK. The PARENT handler is called in the parent process just after FORK.
@@ -711,6 +712,7 @@ extern int pthread_getcpuclockid (pthread_t __thread_id,
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) __THROW;
+#endif
/* Terminate all threads in the program except the calling process.
Should be called just before invoking one of the exec*() functions. */