The kqueue and evport backends can make good use of this.
base->th_notify_fd[0] = -1;
base->th_notify_fd[1] = -1;
event_debug_unassign(&base->th_notify);
+ base->th_notify_fn = NULL;
}
if (base->evsel->dealloc != NULL)
if (!base)
return -1;
- if (base->th_notify_fd[0] >= 0)
+ if (base->th_notify_fn != NULL) {
+ /* The base is already notifiable: we're doing fine. */
return 0;
+ }
#if defined(_EVENT_HAVE_EVENTFD) && defined(_EVENT_HAVE_SYS_EVENTFD_H)
#ifndef EFD_CLOEXEC