[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.