Due to timing problem, test was not properly testing.
What needs to be ensured is:
vgdb is attached (i.e. is ptracing valgrind)
2 sigusr1 signals are sent while vgdb is ptracing
vgdb will queue these signals
when continuing, the queued signals are delivered.
With 3.9.0, the above causes an internal error in valgrind:
valgrind: m_syswrap/syswrap-main.c:1436 (vgPlain_client_syscall): Assertion 'sci->status.what == SsIdle' failed.
It would be better to have explicit synchronisation in the test
rather than counting on 'sleep xxx' to have things done in the
order that tests the signal queueing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13910 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/gdbserver_tests/nlvgdbsigqueue.stdoutB.exp b/gdbserver_tests/nlvgdbsigqueue.stdoutB.exp
index cbeeb89..9318334 100644
--- a/gdbserver_tests/nlvgdbsigqueue.stdoutB.exp
+++ b/gdbserver_tests/nlvgdbsigqueue.stdoutB.exp
@@ -1,14 +1,15 @@
continuing to have vgdb interrupted by simulate_control_c
Continuing.
-Program received signal SIGUSR1, User defined signal 1.
+Program received signal SIGTRAP, Trace/breakpoint trap.
0x........ in syscall ...
+sending signal
+sending signal
continuing to receive first SIGUSR1
Continuing.
-[New Thread ....]
Program received signal SIGUSR1, User defined signal 1.
0x........ in syscall ...
continuing to receive second SIGUSR1
Continuing.
-Program received signal SIGTRAP, Trace/breakpoint trap.
+Program received signal SIGUSR1, User defined signal 1.
0x........ in syscall ...
Kill the program being debugged? (y or n) [answered Y; input not from terminal]