* cygtls.cc (handle_threadlist_exception): Change logic, improve debugging

output.
This commit is contained in:
Christopher Faylor 2004-01-21 15:16:10 +00:00
parent bcb4223cbc
commit be14b608aa
2 changed files with 22 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2004-01-21 Christopher Faylor <cgf@redhat.com>
* cygtls.cc (handle_threadlist_exception): Change logic, improve
debugging output.
2004-01-21 Christopher Faylor <cgf@redhat.com> 2004-01-21 Christopher Faylor <cgf@redhat.com>
* fhandler_tty.cc (fhandler_tty::ioctl): Semi-revert 2003-09-26 change * fhandler_tty.cc (fhandler_tty::ioctl): Semi-revert 2003-09-26 change

View File

@ -200,13 +200,26 @@ extern "C" DWORD __stdcall RtlUnwind (void *, void *, void *, DWORD);
static int static int
handle_threadlist_exception (EXCEPTION_RECORD *e, void *frame, CONTEXT *, void *) handle_threadlist_exception (EXCEPTION_RECORD *e, void *frame, CONTEXT *, void *)
{ {
small_printf ("in handle_threadlist_exception!\n");
if (e->ExceptionCode != STATUS_ACCESS_VIOLATION) if (e->ExceptionCode != STATUS_ACCESS_VIOLATION)
return 1; {
system_printf ("handle_threadlist_exception called with exception code %d\n",
e->ExceptionCode);
return 1;
}
sentry here; sentry here;
if (threadlist_ix != BAD_IX || !here.acquired ()) if (threadlist_ix == BAD_IX)
return 1; {
system_printf ("handle_threadlist_exception called with threadlist_ix %d\n",
BAD_IX);
return 1;
}
if (!here.acquired ())
{
system_printf ("handle_threadlist_exception couldn't aquire muto\n");
return 1;
}
extern void *threadlist_exception_return; extern void *threadlist_exception_return;
cygheap->threadlist[threadlist_ix]->remove (INFINITE); cygheap->threadlist[threadlist_ix]->remove (INFINITE);