diff --git a/sortix/process.cpp b/sortix/process.cpp index 6593096b..2da1eb0b 100644 --- a/sortix/process.cpp +++ b/sortix/process.cpp @@ -357,8 +357,9 @@ namespace Sortix if ( options & WNOHANG ) return 0; zombiewaiting++; - kthread_cond_wait(&zombiecond, &childlock); + unsigned long r = kthread_cond_wait_signal(&zombiecond, &childlock); zombiewaiting--; + if ( !r ) { Error::Set(EINTR); return -1; } } if ( zombie->prevsibling )