|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 15/24] libxl: remove ctx->waitpid_instead
On Mon, 2012-04-16 at 18:17 +0100, Ian Jackson wrote:
> Remove this obsolete hook. Callers inside libxl which create and reap
> children should use the mechanisms provided by the event system.
The hook is unused which is good because otherwise I would have asked
for this patch to go after the patches to make the users use those
mechanisms. As it is removing the hook makes no semantic difference to
anyone.
> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> ---
> tools/libxl/libxl_exec.c | 12 +++---------
> tools/libxl/libxl_internal.h | 3 ---
> 2 files changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c
> index b10e79f..2ee2154 100644
> --- a/tools/libxl/libxl_exec.c
> +++ b/tools/libxl/libxl_exec.c
> @@ -19,11 +19,6 @@
>
> #include "libxl_internal.h"
>
> -static int call_waitpid(pid_t (*waitpid_cb)(pid_t, int *, int), pid_t pid,
> int *status, int options)
> -{
> - return (waitpid_cb) ? waitpid_cb(pid, status, options) : waitpid(pid,
> status, options);
> -}
> -
> static void check_open_fds(const char *what)
> {
> const char *env_debug;
> @@ -344,7 +339,7 @@ int libxl__spawn_spawn(libxl__gc *gc,
>
> if (!for_spawn) _exit(0); /* just detach then */
>
> - got = call_waitpid(ctx->waitpid_instead, child, &status, 0);
> + got = waitpid(child, &status, 0);
> assert(got == child);
>
> rc = (WIFEXITED(status) ? WEXITSTATUS(status) :
> @@ -404,7 +399,7 @@ int libxl__spawn_detach(libxl__gc *gc,
> (unsigned long)for_spawn->intermediate);
> abort(); /* things are very wrong */
> }
> - got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate,
> &status, 0);
> + got = waitpid(for_spawn->intermediate, &status, 0);
> assert(got == for_spawn->intermediate);
> if (!(WIFSIGNALED(status) && WTERMSIG(status) == SIGKILL)) {
> report_spawn_intermediate_status(gc, for_spawn, status);
> @@ -421,14 +416,13 @@ int libxl__spawn_detach(libxl__gc *gc,
>
> int libxl__spawn_check(libxl__gc *gc, libxl__spawn_starting *for_spawn)
> {
> - libxl_ctx *ctx = libxl__gc_owner(gc);
> pid_t got;
> int status;
>
> if (!for_spawn) return 0;
>
> assert(for_spawn->intermediate);
> - got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate,
> &status, WNOHANG);
> + got = waitpid(for_spawn->intermediate, &status, WNOHANG);
> if (!got) return 0;
>
> assert(got == for_spawn->intermediate);
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 74dc2c5..ae71f70 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -334,9 +334,6 @@ struct libxl__ctx {
> int sigchld_selfpipe[2]; /* [0]==-1 means handler not installed */
> LIBXL_LIST_HEAD(, libxl__ev_child) children;
>
> - /* This is obsolete and must be removed: */
> - int (*waitpid_instead)(pid_t pid, int *status, int flags);
> -
> libxl_version_info version_info;
> };
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |