[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 00/12] libxl: fork: SIGCHLD flexibility
libvirt reaps its children synchronously and has no central pid registry and no dispatch mechanism. libxl does have a pid registry so can provide a selective reaping facility, but that is not currently exposed. Here we expose it. Also, libvirt has multiple libxl ctxs. Prior to this series it is not possible for those to share SIGCHLD: libxl expects either the application, or _one_ libxl ctx, to own SIGCHLD. In the final patch of this series we relax this restriction by having libxl maintain a process-wide list of the libxl ctxs that are supposed to be interested in SIGCHLD. I have not tested the selective reaping functionality. The most plausible test environment for that is a suitably modified libvirt. I have tested the new SIGCHLD plumbing, at least with a single ctx, since xl uses it. Testing that it works in a real multi-ctx application is again probably most easily done with libvirt. I hope that with this series applied, simply having libvirt pass libxl_sigchld_owner_libxl_always_selective_reap should be sufficient for everything to work. There is no need to specifically request the SIGCHLD-sharing. a 01/12] libxl: fork: Break out checked_waitpid a 02/12] libxl: fork: Break out childproc_reaped_ours a 03/12] libxl: fork: Clarify docs for libxl_sigchld_owner * 04/12] libxl: fork: Document libxl_sigchld_owner_libxl better a 05/12] libxl: fork: assert that chldmode is right a 06/12] libxl: fork: Provide libxl_childproc_sigchld_occurred +a 07/12] libxl: fork: Provide ..._always_selective_reap a 08/12] libxl: fork: Provide LIBXL_HAVE_SIGCHLD_SELECTIVE_REAP * 09/12] libxl: fork: Rename sigchld handler functions * 10/12] libxl: fork: Break out sigchld_installhandler_core * 11/12] libxl: fork: Break out sigchld_sethandler_raw * 12/12] libxl: fork: Share SIGCHLD handler amongst ctxs (a = acked; * = new patch; + = modified patch) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |