Ignore:
Timestamp:
Aug 28, 1999, 9:33:44 PM (26 years ago)
Author:
sandervl
Message:

Exception handler fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/exceptions.cpp

    r712 r730  
    1 /* $Id: exceptions.cpp,v 1.17 1999-08-27 16:50:59 sandervl Exp $ */
     1/* $Id: exceptions.cpp,v 1.18 1999-08-28 19:33:44 sandervl Exp $ */
    22
    33/*
     
    891891  case XCPT_PROCESS_TERMINATE:
    892892  case XCPT_ASYNC_PROCESS_TERMINATE:
    893         SetExceptionChain((ULONG)0);
     893        SetExceptionChain((ULONG)-1);
    894894        return (XCPT_CONTINUE_SEARCH);
    895895
     
    941941  case XCPT_UNABLE_TO_GROW_STACK:
    942942  case XCPT_IN_PAGE_ERROR:
    943   case XCPT_SIGNAL:
     943CrashAndBurn:
    944944        dprintf(("KERNEL32: OS2ExceptionHandler: Continue and kill\n"));
    945945        pCtxRec->ctx_RegEip = (ULONG)KillWin32Process;
     
    948948        pCtxRec->ctx_RegEbx = pCtxRec->ctx_RegEip;
    949949        return (XCPT_CONTINUE_EXECUTION);
     950
     951  case XCPT_SIGNAL:
     952      if(pERepRec->ExceptionInfo[0] == XCPT_SIGNAL_KILLPROC)          /* resolve signal information */
     953      {
     954        SetExceptionChain((ULONG)-1);
     955        return (XCPT_CONTINUE_SEARCH);
     956      }
     957      goto CrashAndBurn;
    950958
    951959  default: //non-continuable exceptions
Note: See TracChangeset for help on using the changeset viewer.