From nobody Fri May 3 20:13:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1614337199; cv=none; d=zohomail.com; s=zohoarc; b=VjtPVhabtdHTBcDjxO6UmLlw+p2gX0ke5r941m8Dx60jqpPHqxhON4HeO+VkOvnlK4GMmeUwx4mMKruftcy1sSnPfeN2kke7IND+EzrCsQ3nUY8E0mG/k9CXaeH9kRdtsHfAsx2sHOFdENaDEqB8Z1n3WilleQvD/cS5eE+r07s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614337199; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=vwHNmonEvWj8dCR/I36t+e+y96w98ly/ATA5tPLjCy8=; b=moaRQj08tnpkRLNS6n/m/WNRUOuUToa4C5MWMuRnBnUxz2hSrP1zyNPLaXoPoR5EyJay47ffC4ermwnX1y0gn1q+knGDHjdh7Ch2YYisSpVKd8ETUhmLksf9vS01gJ+o89FcuPhuO/PVvX2KRotZORqojoieHeuZm8uoZOsHrNI= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1614337198995717.2101138699725; Fri, 26 Feb 2021 02:59:58 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.90229.170762 (Exim 4.92) (envelope-from ) id 1lFaqY-0003va-4z; Fri, 26 Feb 2021 10:59:46 +0000 Received: by outflank-mailman (output) from mailman id 90229.170762; Fri, 26 Feb 2021 10:59:46 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lFaqY-0003vT-1m; Fri, 26 Feb 2021 10:59:46 +0000 Received: by outflank-mailman (input) for mailman id 90229; Fri, 26 Feb 2021 10:59:44 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lFaqW-0003rd-SC for xen-devel@lists.xenproject.org; Fri, 26 Feb 2021 10:59:44 +0000 Received: from mx.nask.net.pl (unknown [195.187.55.89]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id fa822b0b-cb6d-4cd6-bd58-8919d5d719ee; Fri, 26 Feb 2021 10:59:40 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: fa822b0b-cb6d-4cd6-bd58-8919d5d719ee From: Hubert Jasudowicz To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Wei Liu , =?UTF-8?q?Micha=C5=82=20Leszczy=C5=84ski?= Subject: [PATCH] tools: Improve signal handling in xen-vmtrace Date: Fri, 26 Feb 2021 11:59:26 +0100 Message-Id: <26720bf5c8258e1b7b4600af3648039b5b9ee18d.1614336820.git.hubert.jasudowicz@cert.pl> X-Mailer: git-send-email 2.30.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Make sure xen-vmtrace exits cleanly in case SIGPIPE is sent. This can happen when piping the output to some other program. Additionaly, add volatile qualifier to interrupted flag to avoid it being optimized away by the compiler. Signed-off-by: Hubert Jasudowicz --- tools/misc/xen-vmtrace.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/misc/xen-vmtrace.c b/tools/misc/xen-vmtrace.c index 7572e880c5..e2da043058 100644 --- a/tools/misc/xen-vmtrace.c +++ b/tools/misc/xen-vmtrace.c @@ -43,7 +43,7 @@ static uint32_t domid, vcpu; static size_t size; static char *buf; =20 -static sig_atomic_t interrupted; +static volatile sig_atomic_t interrupted; static void int_handler(int signum) { interrupted =3D 1; @@ -81,6 +81,9 @@ int main(int argc, char **argv) if ( signal(SIGINT, int_handler) =3D=3D SIG_ERR ) err(1, "Failed to register signal handler\n"); =20 + if ( signal(SIGPIPE, int_handler) =3D=3D SIG_ERR ) + err(1, "Failed to register signal handler\n"); + if ( argc !=3D 3 ) { fprintf(stderr, "Usage: %s \n", argv[0]); --=20 2.30.0