05a534e662
patches which were then sliced down to this list since all the other ones were checked in or just applied with horrific failure. Also added new NPTL support patch for MIPS courtesy of Daniel J. Suckers, err I mean testers wanted.
35 lines
1.0 KiB
Diff
35 lines
1.0 KiB
Diff
--- 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));
|
|
|