From: chastain Date: Thu, 6 Nov 2003 02:08:08 +0000 (+0000) Subject: 2003-11-05 Michael Chastain X-Git-Tag: corinna-01~81 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=735ed92a914759f1530e604bf7ab40c4e4d00c9a;p=pf3gnuchains%2Fpf3gnuchains4x.git 2003-11-05 Michael Chastain * gdb.mi/pthreads.c (routine): Handle early return from sleep. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 637d09109e..1106c49718 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-11-05 Michael Chastain + + * gdb.mi/pthreads.c (routine): Handle early return from sleep. + 2003-11-03 Kris Warkentin * gdb.arch/gdb1291.c: New test file. diff --git a/gdb/testsuite/gdb.mi/pthreads.c b/gdb/testsuite/gdb.mi/pthreads.c index 801e013c62..b73b0236c9 100644 --- a/gdb/testsuite/gdb.mi/pthreads.c +++ b/gdb/testsuite/gdb.mi/pthreads.c @@ -42,7 +42,14 @@ static pthread_attr_t null_attr; void * routine (void *arg) { - sleep (9); + /* When gdb is running, it sets hidden breakpoints in the thread + library. The signals caused by these hidden breakpoints can + cause system calls such as 'sleep' to return early. Pay attention + to the return value from 'sleep' to get the full sleep. */ + int unslept = 9; + while (unslept > 0) + unslept = sleep (unslept); + printf ("hello thread\n"); }