From 0c29adfe427ab6ed98cb73644f8f52a76045245c Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 22 May 2012 22:43:27 -0400 Subject: remove everything related to forkall i made a best attempt, but the intended semantics of this function are fundamentally contradictory. there is no consistent way to handle ownership of locks when forking a multi-threaded process. the code could have worked by accident for programs that only used normal mutexes and nothing else (since they don't actually store or care about their owner), but that's about it. broken-by-design interfaces that aren't even in glibc (only solaris) don't belong in musl. --- src/thread/synccall.c | 8 -------- 1 file changed, 8 deletions(-) (limited to 'src/thread/synccall.c') diff --git a/src/thread/synccall.c b/src/thread/synccall.c index 2cd25e4b..1520b3b4 100644 --- a/src/thread/synccall.c +++ b/src/thread/synccall.c @@ -47,14 +47,6 @@ static void handler(int sig, siginfo_t *si, void *ctx) errno = old_errno; } -void __synccall_wait() -{ - struct chain *ch = cur; - sem_post(&ch->sem2); - while (sem_wait(&ch->sem)); - sem_post(&ch->sem); -} - void __synccall(void (*func)(void *), void *ctx) { pthread_t self; -- cgit v1.2.1