Christopher Faylor <cgf@redhat.com>
* exceptions.cc (try_to_debug): Set priority of current thread rather than the main thread. Make busy waiting loop less busy. Restore priority when function returns.
This commit is contained in:
parent
bc5b63edab
commit
49b84ce441
|
@ -1,3 +1,10 @@
|
||||||
|
2003-02-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
|
||||||
|
Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* exceptions.cc (try_to_debug): Set priority of current thread rather
|
||||||
|
than the main thread. Make busy waiting loop less busy. Restore
|
||||||
|
priority when function returns.
|
||||||
|
|
||||||
2003-02-07 Christopher Faylor <cgf@redhat.com>
|
2003-02-07 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
* malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
|
* malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
|
||||||
|
|
|
@ -343,7 +343,8 @@ try_to_debug (bool waitloop)
|
||||||
|
|
||||||
__small_sprintf (strchr (debugger_command, '\0'), " %u", GetCurrentProcessId ());
|
__small_sprintf (strchr (debugger_command, '\0'), " %u", GetCurrentProcessId ());
|
||||||
|
|
||||||
SetThreadPriority (hMainThread, THREAD_PRIORITY_HIGHEST);
|
LONG prio = GetThreadPriority (GetCurrentThread ());
|
||||||
|
SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_HIGHEST);
|
||||||
PROCESS_INFORMATION pi = {NULL, 0, 0, 0};
|
PROCESS_INFORMATION pi = {NULL, 0, 0, 0};
|
||||||
|
|
||||||
STARTUPINFO si = {0, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL};
|
STARTUPINFO si = {0, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL};
|
||||||
|
@ -391,15 +392,17 @@ try_to_debug (bool waitloop)
|
||||||
system_printf ("Failed to start debugger: %E");
|
system_printf ("Failed to start debugger: %E");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetThreadPriority (hMainThread, THREAD_PRIORITY_IDLE);
|
SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_IDLE);
|
||||||
if (!waitloop)
|
if (!waitloop)
|
||||||
return 1;
|
return 1;
|
||||||
while (!being_debugged ())
|
while (!being_debugged ())
|
||||||
/* spin */;
|
Sleep (0);
|
||||||
Sleep (4000);
|
Sleep (2000);
|
||||||
small_printf ("*** continuing from debugger call\n");
|
small_printf ("*** continuing from debugger call\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetThreadPriority (GetCurrentThread (), prio);
|
||||||
|
|
||||||
/* FIXME: need to know handles of all running threads to
|
/* FIXME: need to know handles of all running threads to
|
||||||
resume_all_threads_except (current_thread_id);
|
resume_all_threads_except (current_thread_id);
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue