From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14854 invoked by alias); 15 Jun 2012 19:33:51 -0000 Received: (qmail 14846 invoked by uid 22791); 15 Jun 2012 19:33:49 -0000 X-SWARE-Spam-Status: No, hits=-7.4 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 15 Jun 2012 19:33:37 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q5FJXXNS019212 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 15 Jun 2012 15:33:33 -0400 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q5FJXW2X021798; Fri, 15 Jun 2012 15:33:32 -0400 Message-ID: <4FDB8E0B.8090908@redhat.com> Date: Fri, 15 Jun 2012 19:33:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1 MIME-Version: 1.0 To: Yao Qi CC: gdb-patches@sourceware.org Subject: Re: [PATCH 4/4] gdb: kfail for PR14161 References: <1339246002-1987-1-git-send-email-yao@codesourcery.com> <1339246002-1987-5-git-send-email-yao@codesourcery.com> <4FD76C4E.20107@redhat.com> <201206142301.34598.yao@codesourcery.com> In-Reply-To: <201206142301.34598.yao@codesourcery.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-06/txt/msg00526.txt.bz2 On 06/14/2012 04:01 PM, Yao Qi wrote: > On Wednesday 13 June 2012 00:20:30 Pedro Alves wrote: >>> > > + # Due to PR gdb/14161, sockets files are not removed when agent >>> > > exists. >>> > > >>> > > + # However this problem only affects native gdb, so we don't have to >>> > > bother >>> > > >>> > > + # 'remote_file target delete'. Simple tcl command 'file delete' >>> > > should + # be OK. >>> > > + eval file delete [glob "/tmp/gdb_ust*"] >>> > > + >> > >> > "bother with". But note this doesn't work with remote host testing. > I use "remote_file target delete" in the new patch when "is_remote target" is > true, otherwise use tcl builtin command to remove files. > > gdb/testsuite: > > 2012-06-14 Yao Qi > > KFAIL for PR14161. > * gdb.trace/strace.exp (strace_remove_socket): kfail for native. > Cleanup socket files. > --- > gdb/testsuite/gdb.trace/strace.exp | 14 +++++++++++++- > 1 files changed, 13 insertions(+), 1 deletions(-) > > diff --git a/gdb/testsuite/gdb.trace/strace.exp b/gdb/testsuite/gdb.trace/strace.exp > index b96ab41..1520055 100644 > --- a/gdb/testsuite/gdb.trace/strace.exp > +++ b/gdb/testsuite/gdb.trace/strace.exp > @@ -100,6 +100,10 @@ proc strace_remove_socket { action } { > > sleep 5 > > + if { ![is_remote target] && ! [string equal $action "detach"] } { > + setup_kfail gdb/14161 *-*-* > + } > + > set test "socket file removed" > if [is_remote target] { > set status [remote_exec target "sh -c \"exit `\\\[ -S $socket_file ]`\""] > @@ -332,7 +336,15 @@ if { ![is_remote target] > strace_remove_socket "quit" > strace_remove_socket "detach" > strace_remove_socket "continue" > + > + # Due to PR gdb/14161, sockets files are not removed when agent exists. > + if [is_remote target] { > + foreach match [glob -nocomplain "/tmp/gdb_ust*"] { > + remote_file target delete $match That's unfortunately not good, because while the "delete" runs on the "target", the "glob" is running on the "build" machine (which is usually the "host", unless you're doing remote-host testing). > + } > + } else { > + eval file delete [glob "/tmp/gdb_ust*"] > + } This else doesn't work for remote-host testing either. With remote- -host testing, you have expect running on machine A (build), GDB running on machine B (host), and that GDB connecting to machine C (target). Usually, either A and B are the same, or B and C are the same, though A != B != C is possible. Maybe we can avoid the need for globing in the first place, by making strace_remove_socket (and whatever other function in the file, if necessary), remove the socket file before returning, while they still know the inferior's PID? -- Pedro Alves