windows-nat: Also ignore ERROR_INVALID_HANDLE from SuspendThread()
Discussed somewhat in the thread at https://cygwin.com/ml/gdb-patches/2013-06/msg00680.html This is pretty straightforward to demonstrate on Cygwin currently: $ cat main.c int main() { return 0; } $ gcc -g -O0 main.c -o main $ ./gdb ./main [...] (gdb) r Starting program: /wip/binutils-gdb/build.x86_64/gdb/main warning: SuspendThread (tid=0x1cf0) failed. (winerr 6) [Inferior 1 (process 976) exited normally] with this patch applied: $ ./gdb ./main [...] (gdb) r Starting program: /wip/binutils-gdb/build.x86_64/gdb/main [Inferior 1 (process 4852) exited normally] gdb/ChangeLog: 2015-06-03 Jon Turney <jon.turney@dronecode.org.uk> * windows-nat.c (thread_rec): Also ignore ERROR_INVALID_HANDLE from SuspendThread(). Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
This commit is contained in:
parent
040ea00bb0
commit
5d9c55d355
|
@ -1,3 +1,8 @@
|
||||||
|
2015-06-03 Jon Turney <jon.turney@dronecode.org.uk>
|
||||||
|
|
||||||
|
* windows-nat.c (thread_rec): Also ignore ERROR_INVALID_HANDLE
|
||||||
|
from SuspendThread().
|
||||||
|
|
||||||
2015-06-03 Jon Turney <jon.turney@dronecode.org.uk>
|
2015-06-03 Jon Turney <jon.turney@dronecode.org.uk>
|
||||||
|
|
||||||
* windows-nat.c (handle_output_debug_string): Trim trailing '\n'
|
* windows-nat.c (handle_output_debug_string): Trim trailing '\n'
|
||||||
|
|
|
@ -310,8 +310,11 @@ thread_rec (DWORD id, int get_context)
|
||||||
/* We get Access Denied (5) when trying to suspend
|
/* We get Access Denied (5) when trying to suspend
|
||||||
threads that Windows started on behalf of the
|
threads that Windows started on behalf of the
|
||||||
debuggee, usually when those threads are just
|
debuggee, usually when those threads are just
|
||||||
about to exit. */
|
about to exit.
|
||||||
if (err != ERROR_ACCESS_DENIED)
|
We can get Invalid Handle (6) if the main thread
|
||||||
|
has exited. */
|
||||||
|
if (err != ERROR_INVALID_HANDLE
|
||||||
|
&& err != ERROR_ACCESS_DENIED)
|
||||||
warning (_("SuspendThread (tid=0x%x) failed."
|
warning (_("SuspendThread (tid=0x%x) failed."
|
||||||
" (winerr %u)"),
|
" (winerr %u)"),
|
||||||
(unsigned) id, (unsigned) err);
|
(unsigned) id, (unsigned) err);
|
||||||
|
|
Loading…
Reference in New Issue