* gdb.mi/pthreads.c (routine): Handle early return from sleep.
+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.
 
 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");
 }