diff options
Diffstat (limited to 'gdb/gdbserver/win32-low.c')
-rw-r--r-- | gdb/gdbserver/win32-low.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/gdb/gdbserver/win32-low.c b/gdb/gdbserver/win32-low.c index 680cafea182..265c91691fb 100644 --- a/gdb/gdbserver/win32-low.c +++ b/gdb/gdbserver/win32-low.c @@ -580,7 +580,6 @@ win32_create_inferior (char *program, char **program_args) static int win32_attach (unsigned long pid) { - int res = 0; winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL; winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL; #ifdef _WIN32_WCE @@ -591,28 +590,24 @@ win32_attach (unsigned long pid) DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop); DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit); - res = DebugActiveProcess (pid) ? 1 : 0; - - if (!res) - error ("Attach to process failed."); - - if (DebugSetProcessKillOnExit != NULL) - DebugSetProcessKillOnExit (FALSE); + if (DebugActiveProcess (pid)) + { + if (DebugSetProcessKillOnExit != NULL) + DebugSetProcessKillOnExit (FALSE); - current_process_id = pid; - current_process_handle = OpenProcess (PROCESS_ALL_ACCESS, FALSE, pid); + current_process_handle = OpenProcess (PROCESS_ALL_ACCESS, FALSE, pid); - if (current_process_handle == NULL) - { - res = 0; + if (current_process_handle != NULL) + { + current_process_id = pid; + do_initial_child_stuff (pid); + return 0; + } if (DebugActiveProcessStop != NULL) DebugActiveProcessStop (current_process_id); } - if (res) - do_initial_child_stuff (pid); - - return res; + error ("Attach to process failed."); } /* Handle OUTPUT_DEBUG_STRING_EVENT from child process. */ |