Changeset 730 for trunk/src/kernel32


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

Exception handler fixes

Location:
trunk/src/kernel32
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/KERNEL32.DEF

    r712 r730  
    1 ; $Id: KERNEL32.DEF,v 1.31 1999-08-27 16:51:00 sandervl Exp $
     1; $Id: KERNEL32.DEF,v 1.32 1999-08-28 19:33:44 sandervl Exp $
    22
    33;Created by BLAST for IBM's compiler
     
    952952   enter__6VMutexFUl                                              @1204
    953953   leave__6VMutexFv                                               @1205
    954    __ct__6VMutexFv                                                @1206
     954   __ct__6VMutexFi                                                @1206
    955955   __dt__6VMutexFv                                                @1207
    956956;Used by tibfix page in dll (change ordinal in lx.cpp too!!)
  • 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
  • trunk/src/kernel32/kernel32exp.def

    r690 r730  
    1 ; $Id: kernel32exp.def,v 1.16 1999-08-25 14:27:06 sandervl Exp $
     1; $Id: kernel32exp.def,v 1.17 1999-08-28 19:33:44 sandervl Exp $
    22
    33;Created by BLAST for IBM's compiler
     
    815815enter__6VMutexFUl                                               @1204
    816816leave__6VMutexFv                                                @1205
    817 __ct__6VMutexFv                                                 @1206
     817__ct__6VMutexFi                                                 @1206
    818818__dt__6VMutexFv                                                 @1207
    819819;;;_DLLExitList@4                 @1208
  • trunk/src/kernel32/vmutex.cpp

    r657 r730  
    1 /* $Id: vmutex.cpp,v 1.5 1999-08-24 12:23:25 sandervl Exp $ */
     1/* $Id: vmutex.cpp,v 1.6 1999-08-28 19:33:44 sandervl Exp $ */
    22
    33/*
     
    1818/******************************************************************************/
    1919/******************************************************************************/
    20 VMutex::VMutex() : waiting(0)
     20VMutex::VMutex(int fShared) : waiting(0)
    2121{
    2222 APIRET rc;
    2323
    24   rc = DosCreateMutexSem(NULL, &sem_handle, 0, FALSE);
     24  rc = DosCreateMutexSem(NULL, &sem_handle, (fShared) ? DC_SEM_SHARED : 0, FALSE);
    2525  if(rc != 0) {
    2626    dprintf(("Error creating mutex %X\n", rc));
Note: See TracChangeset for help on using the changeset viewer.