Re: Merge of nickrob-async-20060513 to mainline?

Nick Roberts
2006-09-29T01:50:12Z

[-- Attachment #1: message body and .signature --]
[-- Type: text/plain, Size: 1409 bytes --]

> > Perhaps I can use __WALL as a catch all.
>
> There's supposedly some supported kernel versions left where that
> didn't work.

OK, but this approach (using waitpid (-1, &status, WNOHANG | __WALL); in
gdb_wait_for_event) looks more promising than nickrob-async-20060513. It
didn't work with pthreads because the thread is _always_ waiting and receives
status information that other parts of the code waits on. Multi-thread tests
now work. Ignoring sigstep.exp (which doesn't work on mainline for me now
anyway), I get:

=== gdb Summary ===

# of expected passes 10707
# of unexpected failures 55
# of unexpected successes 1
# of expected failures 42
# of unknown successes 3
# of known failures 70
# of unresolved testcases 103
# of untested testcases 5
# of unsupported tests 4

with fails (where mainline doesn't) that include:

1) checkpoint.exp, mult-forks.exp which fail with
"ERROR: internal buffer is full." because the message
"select: Bad file descriptor" is repeatedly generated.

2) A couple of fails in attach.exp, define.exp

3) Extra failures in staticthreads.exp

I attach the compressed diff (28 Sep 2006) below. I put the line:

set GDBFLAGS "--async"

at the end of site.exp for the tests. Asynchronous output from MI requires
new tests but I haven't included these in the diff.

--
Nick http://www.inet.net.nz/~nickrob

[-- Attachment #2: Asynchronous GDB --]
[-- Type: application/octet-stream, Size: 43097 bytes --]