w32pthreads: remove some unnecessary cleanup code being run on critical errors, which was only causing confusion when debugging thread crashes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3856 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-09-29 11:29:21 +00:00
parent fd0647cc02
commit a02057292b
1 changed files with 11 additions and 3 deletions

View File

@ -102,10 +102,18 @@ ExceptionFilter (EXCEPTION_POINTERS * ep, DWORD * ei)
* routine. We need to cleanup before letting the exception * routine. We need to cleanup before letting the exception
* out of thread scope. * out of thread scope.
*/ */
pthread_t self = pthread_self ();
(void) pthread_mutex_destroy (&((ptw32_thread_t *)self.p)->cancelLock); // Air Says: No we don't. If a structured exception makes it this far, the program is
ptw32_callUserDestroyRoutines (self); // screwed anyway (will cause a GPF / close program dialog to the user) and so a little lost
// cleanup isn't going to matter anyway. Furthermore, no other stack objects are
// getting unwound, so if anything in the User destroy routines are dependent on other
// stack objects being unwound, it'll cause a secondary premature crash which can confuse
// debugging efforts. There is a reason microsoft recommends *not* doing much of anything
// from the context of an exception filter... --air
//pthread_t self = pthread_self ();
//(void) pthread_mutex_destroy (&((ptw32_thread_t *)self.p)->cancelLock);
//ptw32_callUserDestroyRoutines (self);
return EXCEPTION_CONTINUE_SEARCH; return EXCEPTION_CONTINUE_SEARCH;
break; break;