We want to have no fd events registered when we are idle. This
implies that we must be able to deregister our interest in the sigchld
self-pipe fd, not just modify to request no events.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: Ian Campbell <ian.campbell@citrix.com>
Release-Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
void libxl__sigchld_notneeded(libxl__gc *gc) /* non-reentrant, idempotent */
{
- int rc;
-
sigchld_user_remove(CTX);
-
- if (libxl__ev_fd_isregistered(&CTX->sigchld_selfpipe_efd)) {
- rc = libxl__ev_fd_modify(gc, &CTX->sigchld_selfpipe_efd, 0);
- if (rc)
- libxl__ev_fd_deregister(gc, &CTX->sigchld_selfpipe_efd);
- }
+ libxl__ev_fd_deregister(gc, &CTX->sigchld_selfpipe_efd);
}
int libxl__sigchld_needed(libxl__gc *gc) /* non-reentrant, idempotent */