--- gdb-6.3.org/gdb/gdbserver/thread-db.c	2004-10-17 02:42:00.000000000 +0900
+++ gdb-6.3/gdb/gdbserver/thread-db.c	2005-01-27 12:19:29.000000000 +0900
@@ -21,6 +21,7 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <unistd.h>
 #include "server.h"
 
 #include "linux-low.h"
@@ -142,6 +143,7 @@
   td_event_msg_t msg;
   td_err_e err;
   struct inferior_linux_data *tdata;
+  int timeout;
 
   if (debug_threads)
     fprintf (stderr, "Thread creation event.\n");
@@ -152,7 +154,13 @@
      In the LinuxThreads implementation, this is safe,
      because all events come from the manager thread
      (except for its own creation, of course).  */
-  err = td_ta_event_getmsg (thread_agent, &msg);
+  for (timeout = 0; timeout < 50000; timeout++)
+    {
+      err = td_ta_event_getmsg (thread_agent, &msg);
+      if (err != TD_NOMSG)
+	break;
+      usleep(1000);
+    }
   if (err != TD_OK)
     fprintf (stderr, "thread getmsg err: %s\n",
 	     thread_db_err_str (err));

