xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xen.org
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [PATCH 15/25] libxl: remove ctx->waitpid_instead
Date: Wed, 25 Apr 2012 16:55:43 +0100	[thread overview]
Message-ID: <1335369353-13012-16-git-send-email-ian.jackson@eu.citrix.com> (raw)
In-Reply-To: <1335369353-13012-1-git-send-email-ian.jackson@eu.citrix.com>

Remove this obsolete hook.  Callers inside libxl which create and reap
children should use the mechanisms provided by the event system.

(This has no functional difference since there is no way for
ctx->waitpid_instead ever to become set.)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 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 a5b8681..0109f79 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -335,9 +335,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;
 };
 
-- 
1.7.2.5

  parent reply	other threads:[~2012-04-25 15:55 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25 15:55 [PATCH v8 00/25] libxl: subprocess handling Ian Jackson
2012-04-25 15:55 ` [PATCH 01/25] libxl: handle POLLERR, POLLHUP, POLLNVAL properly Ian Jackson
2012-04-25 15:55 ` [PATCH 02/25] libxl: support multiple libxl__ev_fds for the same fd Ian Jackson
2012-04-25 15:55 ` [PATCH 03/25] libxl: event API: new facilities for waiting for subprocesses Ian Jackson
2012-04-25 15:55 ` [PATCH 04/25] autoconf: trim the configure script; use autoheader Ian Jackson
2012-04-25 16:07   ` Ian Campbell
2012-04-25 15:55 ` [PATCH 05/25] autoconf: New test for openpty et al Ian Jackson
2012-04-25 15:55 ` [PATCH 06/25] libxl: provide libxl__remove_file " Ian Jackson
2012-04-25 15:55 ` [PATCH 07/25] libxl: Introduce libxl__sendmsg_fds and libxl__recvmsg_fds Ian Jackson
2012-04-25 15:55 ` [PATCH 08/25] libxl: Clean up setdefault in do_domain_create Ian Jackson
2012-04-25 15:55 ` [PATCH 09/25] libxl: provide libxl__datacopier_* Ian Jackson
2012-04-25 15:55 ` [PATCH 10/25] libxl: provide libxl__openpty_* Ian Jackson
2012-04-25 15:55 ` [PATCH 11/25] libxl: ao: Convert libxl_run_bootloader Ian Jackson
2012-04-25 15:55 ` [PATCH 12/25] libxl: make libxl_create_logfile const-correct Ian Jackson
2012-04-25 15:55 ` [PATCH 13/25] libxl: log bootloader output Ian Jackson
2012-04-25 15:55 ` [PATCH 14/25] libxl: Allow AO_GC and EGC_GC even if not used Ian Jackson
2012-04-25 15:55 ` Ian Jackson [this message]
2012-04-25 15:55 ` [PATCH 16/25] libxl: change some structures to unit arrays Ian Jackson
2012-04-25 15:55 ` [PATCH 17/25] libxl: ao: convert libxl__spawn_* Ian Jackson
2012-04-26  8:56   ` Ian Campbell
2012-04-25 15:55 ` [PATCH 18/25] libxl: make libxl_create run bootloader via callback Ian Jackson
2012-04-25 15:55 ` [PATCH 19/25] libxl: Fix an ao completion bug; document locking policy Ian Jackson
2012-04-26  8:58   ` Ian Campbell
2012-04-25 15:55 ` [PATCH 20/25] libxl: provide progress reporting for long-running operations Ian Jackson
2012-04-26  9:02   ` Ian Campbell
2012-04-25 15:55 ` [PATCH 21/25] libxl: remove malloc failure handling from NEW_EVENT Ian Jackson
2012-04-25 15:55 ` [PATCH 22/25] libxl: convert console callback to libxl_asyncprogress_how Ian Jackson
2012-04-25 15:55 ` [PATCH 23/25] libxl: clarify definition of "slow" operation Ian Jackson
2012-04-25 15:55 ` [PATCH 24/25] libxl: child processes cleanups Ian Jackson
2012-04-26  9:03   ` Ian Campbell
2012-04-25 15:55 ` [PATCH 25/25] libxl: aborting bootloader invocation when domain dioes Ian Jackson
2012-04-25 16:08 ` [PATCH v8 00/25] libxl: subprocess handling Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1335369353-13012-16-git-send-email-ian.jackson@eu.citrix.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).