Instead of messing around with context->poll_waiting, just look at the
GPollFD to see if the GWakeup needs to be acknowledged.
UNLOCK_CONTEXT (context);
return FALSE;
}
-
- if (!context->poll_waiting)
+
+ if (context->wake_up_rec.events)
g_wakeup_acknowledge (context->wakeup);
- else
- context->poll_waiting = FALSE;
+ context->poll_waiting = FALSE;
/* If the set of poll file descriptors changed, bail out
* and let the main loop rerun