OSDN Git Service

2003-11-05 Michael Chastain <mec@shout.net>
authorchastain <chastain>
Thu, 6 Nov 2003 02:08:08 +0000 (02:08 +0000)
committerchastain <chastain>
Thu, 6 Nov 2003 02:08:08 +0000 (02:08 +0000)
* gdb.mi/pthreads.c (routine): Handle early return from sleep.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.mi/pthreads.c

index 637d091..1106c49 100644 (file)
@@ -1,3 +1,7 @@
+2003-11-05  Michael Chastain  <mec@shout.net>
+
+       * gdb.mi/pthreads.c (routine): Handle early return from sleep.
+
 2003-11-03  Kris Warkentin  <kewarken@qnx.com>
 
        * gdb.arch/gdb1291.c: New test file.
index 801e013..b73b023 100644 (file)
@@ -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");
 }