From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id edNeHtWcu2p1EhcAWB0awg (envelope-from ) for ; Tue, 29 Sep 2026 07:11:17 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=bsMMeavx; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ZJEzuycx; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=VPBobAsu; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=eFx1FnRJ; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 796131E033; Tue, 29 Sep 2026 07:11:17 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 38F691E033 for ; Tue, 29 Sep 2026 07:11:16 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9CC774BB24EA for ; Tue, 29 Sep 2026 11:11:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9CC774BB24EA Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=bsMMeavx; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ZJEzuycx; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=VPBobAsu; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=eFx1FnRJ Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id AB1264BA9004 for ; Tue, 29 Sep 2026 11:09:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AB1264BA9004 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AB1264BA9004 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=195.135.223.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1790680171; cv=none; b=lL6TH9x1UagnvhMJEv2GOwFth/usv5yVpB4OyX52n5JyLSgqFlFcQIpzO4fvPpjQd87DIQIjEv3hGyNibbywKMgOtS7+rmM+QJi6dHf3tZ1hvWVODzw3wxsxjjKeu64Unp4jc/yfxM4TwlYSU49mdAGX4nfZP7Lwyb+O12LzeSE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1790680171; c=relaxed/simple; bh=ln8Z05XrqunbKOkZfY0oE4wgETXuVniCHmpenUZUAZE=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=V/SlO9aJFCct6/5R64CrRfXR31kaFJ5BSm2eaCBGhJDbyRc3m6efquOm5nJYmIlOeTuNzJEJSDt9HteSRoiAsgtWaGgg6f74u3kLvXRzG5K4/iwG1SF3VAHSxsWKBPIqK0dD0U/VYrLBTarcY8KxF/KyWmdAWzEU2ejLnU26qWo= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=bsMMeavx; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=ZJEzuycx; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=VPBobAsu; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=eFx1FnRJ DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AB1264BA9004 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 7A6EE1F7B1 for ; Tue, 29 Sep 2026 11:09:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1790680166; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fnsZFh8L+o66KhrI5mN8ZN1yjHarpWVxoWfXRljA+rY=; b=bsMMeavxdBLaQ8WWHcKgYKStZg/3oiU93AXZqW9Gmm5BjtODDu524GXRL9+bXGBlhE1AxO r1/ymlHJquaKg4WqFbijP1iNy0zG9OFfOdaiv60lM5qOFRJBtHQQL9Ty3KS4nRPNHlO8FP 0VfV60dboyNMvReJARM0Z02bHPqtwEE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1790680166; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fnsZFh8L+o66KhrI5mN8ZN1yjHarpWVxoWfXRljA+rY=; b=ZJEzuycx4oJLJWSmi6cTUaX31wH8iJoZ/ItfoFFKXdftOo+1S5dRFISsbWWynSkqPkQz2m jP8A9q7oQoAU9SAQ== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1790680162; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fnsZFh8L+o66KhrI5mN8ZN1yjHarpWVxoWfXRljA+rY=; b=VPBobAsu+5D5ioTyq6uzrftKRpVOw4sPys6THBQiogsQ3Ihaoz/ptEev+8q0ALczBDOMuT vSaNm7aypgDOVuhw5MHxpMJtVUHjqi0+HtuNNxvKpEMMKm52hA1MljrcqzDrJVKgNOA9AG uxo1qQrCg5mjoHUzUYRYKh/QbtexiXU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1790680162; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fnsZFh8L+o66KhrI5mN8ZN1yjHarpWVxoWfXRljA+rY=; b=eFx1FnRJCo6C6GMxGeCyj7icPNYMGv68wrqWVrcIbm/01c/aXGWeXzwLvm3K4n6HQjrEFl QQ+FKognD0BCF7AA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 43A4013710 for ; Tue, 29 Sep 2026 11:09:22 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id jiAQNGGcu2oIAgAAD6G6ig:T3 (envelope-from ) for ; Tue, 29 Sep 2026 11:09:22 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH v2 3/6] [gdb/testsuite] Simplify lock_file_acquire Date: Tue, 29 Sep 2026 13:09:18 +0200 Message-ID: <20260929110921.1910094-3-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260929110921.1910094-1-tdevries@suse.de> References: <20260929110921.1910094-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-1.80 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-0.993]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:mid]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_ALL(0.00)[] X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Currently the entire functionality of lock_file_acquire is contained in a loop, which makes control flow harder to follow, especially so given that the loop also contains exception handling. Instead, limit the scope of the loop to the part that actually needs repeating: getting a valid file handle: ... while {![info exists fh]} { try { set fh [open $lockfile {WRONLY CREAT EXCL}] } on error {} { # Ignore and try again. after 10 } } ... I also liked this version: ... while {true} { try { set fh [open $lockfile {WRONLY CREAT EXCL}] break } on error {} { # Ignore and try again. after 10 continue } } ... but ended up choosing for the first because the loop condition states the goal of the loop. --- gdb/testsuite/lib/gdb-utils.exp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/gdb/testsuite/lib/gdb-utils.exp b/gdb/testsuite/lib/gdb-utils.exp index 56d8e80f152..854496e9bb1 100644 --- a/gdb/testsuite/lib/gdb-utils.exp +++ b/gdb/testsuite/lib/gdb-utils.exp @@ -185,22 +185,24 @@ proc version_compare { l1 op l2 } { proc lock_file_acquire {lockfile} { verbose -log "acquiring lock file: $::subdir/${::gdb_test_file_name}.exp" - while {true} { + + while {![info exists fh]} { try { - open $lockfile {WRONLY CREAT EXCL} - } on ok {fh} { - set msg "locked by $::subdir/${::gdb_test_file_name}.exp" - verbose -log "lock file: $msg" - # For debugging, put info in the lockfile about who owns - # it. - puts $fh $msg - flush $fh - return [list $fh $lockfile] + set fh [open $lockfile {WRONLY CREAT EXCL}] } on error {} { # Ignore and try again. + after 10 } - after 10 } + + set msg "locked by $::subdir/${::gdb_test_file_name}.exp" + verbose -log "lock file: $msg" + + # For debugging, put info in the lockfile about who owns + # it. + puts $fh $msg + flush $fh + return [list $fh $lockfile] } # Release a lock file. -- 2.51.0