From nobody Tue Feb 10 02:55:09 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1587661891; cv=none; d=zohomail.com; s=zohoarc; b=mBVKFB5df/QAB6hehQscOjJr5ew1v1v97n0vAy3BuVio1dAdnRbpuwacn70dzbgmjdLsuefJb9kbwwep3qUmqRV2x2eZ+1b0f3ey8dN0bcrAZgAMhXJYhXof/ZJ318VuPbVfhj7v3NrKfXARE4rxV6dow8o2ugRWQyXUvH47llU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587661891; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qwQ9PGD8JYBaJEUwYaNKOztNdvsthQ8POu4+c0qzYlM=; b=ESY0P4rXfBaVOBl+tViPjpOIio9w/lPStcPOS/h6QdyD94icyfwhF/sXAwilWHhQgThpJab0WxKpqqIkbFCIcZrJD7gWXZyIqxGAVNI/NGLqZ76wwHe7PQhAFuqYZT0Ila7xaXYC7TR1dzAXqUPWQzz+55R0b75TJeQH5hSx89s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1587661891148402.7145982635076; Thu, 23 Apr 2020 10:11:31 -0700 (PDT) Received: from localhost ([::1]:60968 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jRfNp-0004qh-SK for importer@patchew.org; Thu, 23 Apr 2020 13:11:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44658) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jRfIj-000195-DY for qemu-devel@nongnu.org; Thu, 23 Apr 2020 13:06:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jRfIi-0005XA-Rp for qemu-devel@nongnu.org; Thu, 23 Apr 2020 13:06:13 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:40472) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jRfIi-0005WV-EH for qemu-devel@nongnu.org; Thu, 23 Apr 2020 13:06:12 -0400 Received: by mail-wr1-x441.google.com with SMTP id k13so7709927wrw.7 for ; Thu, 23 Apr 2020 10:06:12 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id o28sm4531899wra.84.2020.04.23.10.06.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2020 10:06:04 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 1B8A51FF98; Thu, 23 Apr 2020 18:05:58 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qwQ9PGD8JYBaJEUwYaNKOztNdvsthQ8POu4+c0qzYlM=; b=QU4/DDBSsFHMgP0XBi0ERXtnhHWII6sSAxKElJofcsbfkldNqoRioyReTPu9GXoVRF lxSiTqiOET55aXB3x2dlMiWdJAN2XisqNZ5Y2QjBkUqoyx4Ur4o6GwkcpxaOYpmLT9KW A0M9NhL3KHLplBsyr4jcZAy8tV5509u7FsjsxCFJrPp06b7FZ7pwaH1nbLnnksgf1L+b 4umwNrqjWJZmsFmbTzTKUvSLVtR7ROAh/m4qRg5juyjg/BUkXz7GxEUcFr4a+kFWKPWQ w8mDoFTt2M98vJXMCy/rgtLF6uaVqfMGTc0YmnMsusN1AxGfVNxsuVb7+RLK66jYZDYe mh3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qwQ9PGD8JYBaJEUwYaNKOztNdvsthQ8POu4+c0qzYlM=; b=dRCBlFZ5n7jIUQZB+RpLK9s7uo2DO4/219wTQSd4U6TO0dha0JSsClXVZ1+E3Jjz4U TqloMhpAvvCfvIGy+XYHoax4AtIX6M4nNmi5/jhpG68/22bAO7eFpF3QTWiri3569B1A 4oDBPm6n4adE7pxuIlYRjqcmu19MPAMG9s9TRGPk4qYDoBgy2O+DRaM4qabHBdzQsDJn Y3KB25bpgtIFMUKYiHivBI/8ALaCe7jXx0sQcFD2OIs/TiNjRqbXWvXvQPryJuhMJJW8 HMNAggpgy7//6ReoousTZ+jG8cnuZRpAMbSFfx75fxo2TgLaGCPwaD+bM8S3EV1ruHXJ NQng== X-Gm-Message-State: AGi0PuZIMnGhT7EOKkNEYhTFvUMg6WPW7D+dyog9+glgLE1vRTQ3o38f XtA0fJJzhnyEAOWeRR67BEjFbQ== X-Google-Smtp-Source: APiQypL+Xkaku2guS8f4MxPeMaFTSg6ctpSkvi0yc1kZzv3BrUDOLwDOKwND9pDbSRyn5LRFCwkD2A== X-Received: by 2002:adf:afdf:: with SMTP id y31mr5939803wrd.120.1587661570778; Thu, 23 Apr 2020 10:06:10 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 09/14] gdbstub: eliminate gdbserver_fd global Date: Thu, 23 Apr 2020 18:05:52 +0100 Message-Id: <20200423170557.31106-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200423170557.31106-1-alex.bennee@linaro.org> References: <20200423170557.31106-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x441.google.com X-detected-operating-system: by eggs.gnu.org: Error: [-] PROGRAM ABORT : Malformed IPv6 address (bad octet value). Location : parse_addr6(), p0f-client.c:67 X-Received-From: 2a00:1450:4864:20::441 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Alex=20Benn=C3=A9e?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) We don't really need to track this fd beyond the initial creation of the socket. We already know if the system has been initialised by virtue of the gdbserver_state so lets remove it. This makes the later re-factoring easier. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- gdbstub.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 171e150950..8c53cc0e1c 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -398,8 +398,6 @@ static void reset_gdbserver_state(void) bool gdb_has_xml; =20 #ifdef CONFIG_USER_ONLY -/* XXX: This is not thread safe. Do we care? */ -static int gdbserver_fd =3D -1; =20 static int get_char(void) { @@ -2964,7 +2962,7 @@ void gdb_exit(CPUArchState *env, int code) return; } #ifdef CONFIG_USER_ONLY - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (gdbserver_state.fd < 0) { return; } #endif @@ -3011,7 +3009,7 @@ gdb_handlesig(CPUState *cpu, int sig) char buf[256]; int n; =20 - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (!gdbserver_state.init || gdbserver_state.fd < 0) { return sig; } =20 @@ -3060,7 +3058,7 @@ void gdb_signalled(CPUArchState *env, int sig) { char buf[4]; =20 - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (!gdbserver_state.init || gdbserver_state.fd < 0) { return; } =20 @@ -3068,7 +3066,7 @@ void gdb_signalled(CPUArchState *env, int sig) put_packet(buf); } =20 -static bool gdb_accept(void) +static bool gdb_accept(int gdb_fd) { struct sockaddr_in sockaddr; socklen_t len; @@ -3076,7 +3074,7 @@ static bool gdb_accept(void) =20 for(;;) { len =3D sizeof(sockaddr); - fd =3D accept(gdbserver_fd, (struct sockaddr *)&sockaddr, &len); + fd =3D accept(gdb_fd, (struct sockaddr *)&sockaddr, &len); if (fd < 0 && errno !=3D EINTR) { perror("accept"); return false; @@ -3137,13 +3135,12 @@ static int gdbserver_open(int port) =20 int gdbserver_start(int port) { - gdbserver_fd =3D gdbserver_open(port); - if (gdbserver_fd < 0) + int gdb_fd =3D gdbserver_open(port); + if (gdb_fd < 0) return -1; /* accept connections */ - if (!gdb_accept()) { - close(gdbserver_fd); - gdbserver_fd =3D -1; + if (!gdb_accept(gdb_fd)) { + close(gdb_fd); return -1; } return 0; @@ -3152,7 +3149,7 @@ int gdbserver_start(int port) /* Disable gdb stub for child processes. */ void gdbserver_fork(CPUState *cpu) { - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (!gdbserver_state.init || gdbserver_state.fd < 0) { return; } close(gdbserver_state.fd); --=20 2.20.1