On Thu, 2014-11-27 at 18:27 +0000, Ian Jackson wrote: > 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.jack...@eu.citrix.com>
Acked-by: Ian Campbell <ian.campb...@citrix.com> I think in principal there is now some redundant code in libxl__sigchld_needed which calls modify to set POLLIN if the fd is not registered. I think it's redundant because now the fd is registered iff it is looking for POLLIN. > --- > tools/libxl/libxl_fork.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/tools/libxl/libxl_fork.c b/tools/libxl/libxl_fork.c > index fa15095..144208a 100644 > --- a/tools/libxl/libxl_fork.c > +++ b/tools/libxl/libxl_fork.c > @@ -372,15 +372,8 @@ static void sigchld_user_remove(libxl_ctx *ctx) /* > idempotent */ > > 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 */ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel