diff --git a/src/lib/lwp/lwp.c b/src/lib/lwp/lwp.c index a3bb2423..d5602b1b 100644 --- a/src/lib/lwp/lwp.c +++ b/src/lib/lwp/lwp.c @@ -76,6 +76,7 @@ lwpReschedule(void) } lwpSigWakeup(); + lwpWakeupSleep(); /* destroy dead threads */ lwpStatus(LwpCurrent, "Cleaning dead queue"); diff --git a/src/lib/lwp/lwpint.h b/src/lib/lwp/lwpint.h index 8795d0d2..4f6350c6 100644 --- a/src/lib/lwp/lwpint.h +++ b/src/lib/lwp/lwpint.h @@ -89,6 +89,7 @@ void lwpReady(struct lwpProc *); void lwpReschedule(void); void lwpEntryPoint(void); void lwpInitSelect(struct lwpProc *); +void lwpWakeupSleep(void); void lwpSelect(void *); void lwpInitSigWait(sigset_t *); void lwpSigWakeup(void); diff --git a/src/lib/lwp/sel.c b/src/lib/lwp/sel.c index cb360eed..ea187982 100644 --- a/src/lib/lwp/sel.c +++ b/src/lib/lwp/sel.c @@ -123,7 +123,7 @@ lwpWakeupFd(struct lwpProc *proc) lwpReady(proc); } -static void +void lwpWakeupSleep(void) { time_t now;