diff options
| -rw-r--r-- | src/thread/synccall.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/src/thread/synccall.c b/src/thread/synccall.c index 648a6ad4..d58c851f 100644 --- a/src/thread/synccall.c +++ b/src/thread/synccall.c @@ -63,7 +63,8 @@ void __synccall(void (*func)(void *), void *ctx)  	sem_init(&target_sem, 0, 0);  	sem_init(&caller_sem, 0, 0); -	if (!libc.threads_minus_1) goto single_threaded; +	if (!libc.threads_minus_1 || __syscall(SYS_gettid) != self->tid) +		goto single_threaded;  	callback = func;  	context = ctx;  | 
