From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 08/11] Debugging machinery for synthesising POLLHUP Date: Wed, 1 Aug 2012 17:24:17 +0100 Message-ID: <1343838260-17725-9-git-send-email-ian.jackson@eu.citrix.com> References: <1343838260-17725-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1343838260-17725-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Ian Jackson List-Id: xen-devel@lists.xenproject.org --- tools/libxl/libxl_bootloader.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/tools/libxl/libxl_bootloader.c b/tools/libxl/libxl_bootloader.c index e103ee9..2e65383 100644 --- a/tools/libxl/libxl_bootloader.c +++ b/tools/libxl/libxl_bootloader.c @@ -447,6 +447,19 @@ static void bootloader_disk_attached_cb(libxl__egc *egc, bootloader_callback(egc, bl, rc); } +static int tst_blfd; +static void tst_sigh(int dummy) { + int r, e = errno; + int p[2]; + write(2,"tst_sigh\n",9); + r = pipe(p); assert(!r); + close(p[1]); +if (getenv("TST_EXTRADUP")) dup(tst_blfd); + dup2(p[0], tst_blfd); + close(p[0]); + errno = e; +} + static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op) { libxl__bootloader_state *bl = CONTAINER_OF(op, *bl, openpty); @@ -503,6 +516,9 @@ static void bootloader_gotptys(libxl__egc *egc, libxl__openpty_state *op) int bootloader_master = libxl__carefd_fd(bl->ptys[0].master); int xenconsole_master = libxl__carefd_fd(bl->ptys[1].master); +tst_blfd = bootloader_master; +signal(SIGUSR2,tst_sigh); + libxl_fd_set_nonblock(CTX, bootloader_master, 1); libxl_fd_set_nonblock(CTX, xenconsole_master, 1); -- 1.7.2.5