From nobody Mon Feb 9 22:37:56 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=1588273682; cv=none; d=zohomail.com; s=zohoarc; b=IIMVxenppH6HKOzmrOkZptVyp1K9hLCvS1u5ZMQDykv7TfifusPjgUrcDnrHY1HxFOmuSvocYbBR2FPBMd5hhJuMx01lNfqn4isekG6ZzJavZAUeDuhfkWCDF4vEZ2owhn/n8LfRUFS0jyC1dVyZCQ1HtBzQNOrcKdn3hanVT54= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588273682; 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=toymzPlUD26kqcownJZwCybn3HKvGbNcV/Ovby7lKh0=; b=YCLYC7gyr705zyAUCzprVVg73xT2fosS00+TbJENuK/m9VO01tHeM6QWTFaUfgcF1xlhakZMRSVRp5CecbNMMF+P/jhK6CGcn5w9UnZb7iRD8zKmfCnIryLOjRYhBWVVFd6I8rxiSyiVho6QlVGGVmTXbK+BSRn0OZk+Q0+c0m4= 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 1588273682959262.4055335205758; Thu, 30 Apr 2020 12:08:02 -0700 (PDT) Received: from localhost ([::1]:39764 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jUEXR-0000Cn-Km for importer@patchew.org; Thu, 30 Apr 2020 15:08:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43344) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jUERF-0006GA-CG for qemu-devel@nongnu.org; Thu, 30 Apr 2020 15:01:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jUERD-0003BJ-OI for qemu-devel@nongnu.org; Thu, 30 Apr 2020 15:01:37 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:35362) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jUERC-0003AQ-Vh for qemu-devel@nongnu.org; Thu, 30 Apr 2020 15:01:35 -0400 Received: by mail-wm1-x344.google.com with SMTP id r26so3320129wmh.0 for ; Thu, 30 Apr 2020 12:01:34 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id l4sm852710wrv.60.2020.04.30.12.01.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2020 12:01:27 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 15D011FF91; Thu, 30 Apr 2020 20:01:23 +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=toymzPlUD26kqcownJZwCybn3HKvGbNcV/Ovby7lKh0=; b=UA3TKq51jiN8jju3lt/e2s4Tw6+F2WwjGMiFtuhMO0RTiJjAZnbem6Me68cwyCTqfh HniZx9+hmOMreg+MXn39JhnjrRurMli32Gy/BENikv8J5ivR8jz3JfjyerdjcUOgHiiL B30lv3QW+iN47NgwxUVYI7EJm+aTEducPqkcwSPzJDLO82Fd5N77XWGwkTOCDf0ttNe1 856KpTmj/beLKNl1/RrxkR5tOTVsW1x7x4rEhcRSLBRPuITTwRdE/q01QlC3bfQXv32E Zfcqf0OWxASg/Knl5SFcBXUPrN4Ah2cckAI+IEZ7GIv1BlUIgYq4TlVX2sPb5nPfJ4Br xQXw== 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=toymzPlUD26kqcownJZwCybn3HKvGbNcV/Ovby7lKh0=; b=lUMUGSGB01kGoK0kq2LNkrYBek1ilGa4nqGoIKVFoQj84K89F7vbp8NcIgsa1s9jU1 XPLojL2SDv1V3ZypbMqzsO5jMPG5o6LorR8jbecD2DAG/v4IWG8v4r9Dj+3mmbKr7HxL 5iEv+NF9FutSnqcza/38yfnW+eTRJtuUK+osWsnRWr0fshMhRwCLDYY3lbvJrZrgIBWm raqbv+MTZOlPWDppvlnTMIOpBL+AfmZLm28xirwbS2VDda6rMGwSe4O9MB+bV/MI/N1z FmA4ZF6IrSCyJKsHOCV7cGrYX5SXOHPtDuBMr81ME55xRvP3UyQ0+1YdKyWaOKwfe8z9 x76g== X-Gm-Message-State: AGi0PuZ3lIiNiegNdG5fC7E1dqFji+h+foUeFLJl3kqvs9pygdlBNLFF u94xI1kS/nhGye3CtV1FKWUXA5dXwtU= X-Google-Smtp-Source: APiQypLkQQz+FwwblWsH56zRPfNoGuTj1IwjpHCtmhXYfzw55xGvfgGlXOb8ZaNMMHXJ71Uaq1qUsg== X-Received: by 2002:a1c:44b:: with SMTP id 72mr54303wme.58.1588273293116; Thu, 30 Apr 2020 12:01:33 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 5/9] gdbstub: eliminate gdbserver_fd global Date: Thu, 30 Apr 2020 20:01:18 +0100 Message-Id: <20200430190122.4592-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200430190122.4592-1-alex.bennee@linaro.org> References: <20200430190122.4592-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::344; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x344.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::344 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 Reviewed-by: Richard Henderson --- v1 - fix coding style issue --- gdbstub.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 171e150950..b5381aa520 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,13 @@ 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 +3150,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