• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

修訂d9afb4f6871ad1a1a6a3ba98f883525adcc98be1 (tree)
時間2006-09-16 07:52:06
作者Nick Roberts <nickrob@snap...>
CommiterNick Roberts

Log Message

(call_function_by_hand): Destroy signal thread while
synchronous and then recreate.

Change Summary

差異

--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -36,6 +36,8 @@
3636 #include "gdb_string.h"
3737 #include "infcall.h"
3838 #include "dummy-frame.h"
39+#include "async-nat-inferior.h"
40+#include "async-nat-sigthread.h"
3941
4042 /* NOTE: cagney/2003-04-16: What's the future of this code?
4143
@@ -714,7 +716,7 @@ You must use a pointer to function type variable. Command ignored."), arg_name);
714716
715717 Otherwise, set RC to a non-zero value. If the called function
716718 receives a random signal, we do not allow the user to continue
717- executing it as this may not work. The dummy frame is poped and
719+ executing it as this may not work. The dummy frame is popped and
718720 we return 1. If we hit a breakpoint, we leave the frame in place
719721 and return 2 (the frame will eventually be popped when we do hit
720722 the dummy end breakpoint). */
@@ -732,15 +734,22 @@ You must use a pointer to function type variable. Command ignored."), arg_name);
732734 proceed_to_finish = 1; /* We want stop_registers, please... */
733735
734736 if (target_can_async_p ())
735- saved_async = target_async_mask (0);
736-
737+ {
738+ gdb_signal_thread_destroy (&gdb_status->signal_status);
739+ saved_async = target_async_mask (0);
740+ }
741+
737742 proceed (real_pc, TARGET_SIGNAL_0, 0);
738-
743+
739744 if (saved_async)
740- target_async_mask (saved_async);
741-
745+ {
746+ target_async_mask (saved_async);
747+ gdb_signal_thread_create (&gdb_status->signal_status,
748+ ptid_get_pid (inferior_ptid));
749+ }
750+
742751 enable_watchpoints_after_interactive_call_stop ();
743-
752+
744753 discard_cleanups (old_cleanups);
745754 }
746755