diff options
author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-09-16 04:47:53 +0000 |
---|---|---|
committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2005-09-16 04:47:53 +0000 |
commit | 05a534e662420dab01bf4695447b34b2c0d0eb61 (patch) | |
tree | 2f646c177312948566cc8085172c0b2ad2026aeb /toolchain/gdb/snapshot/500-thread-timeout.patch | |
parent | 7956dda04e5e7fc017517e52b06076c649c17389 (diff) |
Add patches for latest snapshot of gdb. The starting point was the 6.3
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.
Diffstat (limited to 'toolchain/gdb/snapshot/500-thread-timeout.patch')
-rw-r--r-- | toolchain/gdb/snapshot/500-thread-timeout.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/toolchain/gdb/snapshot/500-thread-timeout.patch b/toolchain/gdb/snapshot/500-thread-timeout.patch new file mode 100644 index 000000000..6db0a7a47 --- /dev/null +++ b/toolchain/gdb/snapshot/500-thread-timeout.patch @@ -0,0 +1,34 @@ +--- 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)); + |