From: Yao Qi <yao@codesourcery.com>
To: Pedro Alves <palves@redhat.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH 4/4] gdb: kfail for PR14161
Date: Wed, 20 Jun 2012 13:55:00 -0000 [thread overview]
Message-ID: <4FE1D637.2070901@codesourcery.com> (raw)
In-Reply-To: <4FDB8E0B.8090908@redhat.com>
On 06/16/2012 03:33 AM, Pedro Alves wrote:
>> > + # 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.
>
I am using 'remote_exec target "sh -c \"rm -r $socket_file\""' to
delete them in a unique way. The reason is explained in the comments.
> 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?
Yes, at the end of strace_remove_socket, we can delete socket file if
it still exists. In proc strace_info_marker, I simply force GDB to
detach inferior, so the socket file can be removed as well.
--
Yao (é½å°§)
gdb/testsuite:
2012-06-20 Yao Qi <yao@codesourcery.com>
KFAIL for PR14161.
* gdb.trace/strace.exp (strace_remove_socket): kfail for native.
Cleanup socket files.
(strace_info_marker): Detach inferior.
---
gdb/testsuite/gdb.trace/strace.exp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gdb/testsuite/gdb.trace/strace.exp b/gdb/testsuite/gdb.trace/strace.exp
index d45c66d..587d9b3 100644
--- a/gdb/testsuite/gdb.trace/strace.exp
+++ b/gdb/testsuite/gdb.trace/strace.exp
@@ -111,6 +111,9 @@ proc strace_remove_socket { action } {
if { $exists } {
fail $test
+ # Since $socket_file is a socket file instead of a regular file, we
+ # can't use 'remote_file target delete $socket_file' here.
+ remote_exec target "sh -c \"rm -r $socket_file\""
} else {
pass $test
}
@@ -145,6 +148,13 @@ proc strace_info_marker { } { with_test_prefix "info_marker" {
pass "info threads"
}
}
+
+ # GDB detaches inferior so that the socket file can be removed.
+ gdb_test_multiple "detach" "detach" {
+ -re "Detaching .*, process .*${gdb_prompt} $" {
+ pass "detach"
+ }
+ }
}}
proc strace_probe_marker { } { with_test_prefix "probe_marker" {
--
1.7.9.5
next prev parent reply other threads:[~2012-06-20 13:55 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-09 12:47 [PATCH 0/4] PR14161: a partial fix Yao Qi
2012-06-09 12:47 ` [PATCH 3/4] New agent command 'kill' and used by gdbserver Yao Qi
2012-06-09 13:11 ` Eli Zaretskii
2012-06-12 16:14 ` Pedro Alves
2012-06-14 14:50 ` Yao Qi
2012-06-14 16:37 ` Eli Zaretskii
2012-06-15 19:25 ` Pedro Alves
2012-06-20 13:49 ` Yao Qi
2012-06-21 16:05 ` Pedro Alves
2012-06-09 12:47 ` [PATCH 4/4] gdb: kfail for PR14161 Yao Qi
2012-06-12 16:21 ` Pedro Alves
2012-06-14 15:01 ` Yao Qi
2012-06-15 19:33 ` Pedro Alves
2012-06-20 13:55 ` Yao Qi [this message]
2012-06-09 12:47 ` [PATCH 2/4] Remove socket file at exit Yao Qi
2012-06-12 15:14 ` Pedro Alves
2012-06-14 14:44 ` Yao Qi
2012-06-15 19:02 ` Pedro Alves
2012-06-09 12:47 ` [PATCH 1/4] New test for removing socket file in gdb.trace/strace.exp Yao Qi
2012-06-12 14:51 ` Pedro Alves
2012-06-14 14:39 ` Yao Qi
2012-06-15 19:00 ` Pedro Alves
2012-06-20 13:46 ` Yao Qi
2012-06-21 15:56 ` Pedro Alves
2012-06-27 3:55 ` Yao Qi
2012-07-27 8:19 ` [committed] : [PATCH 0/4] PR14161: a partial fix Yao Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FE1D637.2070901@codesourcery.com \
--to=yao@codesourcery.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox