Changeset 5750


Ignore:
Timestamp:
May 19, 2001, 1:14:38 PM (24 years ago)
Author:
sandervl
Message:

InterlockedCompareExchange bugfix

Location:
trunk/src/kernel32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/kernel32/interlock.asm

    r2090 r5750  
    1 ; $Id: interlock.asm,v 1.7 1999-12-16 00:59:21 sandervl Exp $
     1; $Id: interlock.asm,v 1.8 2001-05-19 11:14:38 sandervl Exp $
    22
    33;/*
     
    9393; * the value of Destination with Exchange
    9494; *
    95 ; * RETURNS
    96 ; *     Prior value of value pointed to by Destination
    9795; */
    9896_InterlockedCompareExchange@12 proc near
     
    103101
    104102        mov     ebx, dword ptr [ebp+8]  ;PVOID *Destination, /* Address of 32-bit value to exchange */
    105         push    dword ptr [ebx]         ;save old *Destination
    106103        mov     eax, [ebp+16]           ;PVOID Comperand      /* value to compare, 32 bits */
    107104        mov     edx, [ebp+12]           ;PVOID Exchange,      /* change value, 32 bits */
    108105        lock    cmpxchg dword ptr [ebx],edx
    109         pop     eax
    110106
    111107        pop     ebx
  • TabularUnified trunk/src/kernel32/oslibexcept.cpp

    r4658 r5750  
    1 /* $Id: oslibexcept.cpp,v 1.5 2000-11-21 11:35:08 sandervl Exp $ */
     1/* $Id: oslibexcept.cpp,v 1.6 2001-05-19 11:14:38 sandervl Exp $ */
    22/*
    33 * Exception handler util. procedures
     
    169169        break;
    170170
     171  case XCPT_ILLEGAL_INSTRUCTION:
     172  case XCPT_PRIVILEGED_INSTRUCTION:
     173        rc = RtlDispatchException(&winreportrec, &wincontextrec);
     174        break;
     175
    171176  case XCPT_INTEGER_DIVIDE_BY_ZERO:
    172177  case XCPT_INTEGER_OVERFLOW:
    173   case XCPT_PRIVILEGED_INSTRUCTION:
    174178  case XCPT_BREAKPOINT:
    175179  case XCPT_SINGLE_STEP:
    176180  case XCPT_ARRAY_BOUNDS_EXCEEDED:
    177181  case XCPT_DATATYPE_MISALIGNMENT:
    178   case XCPT_ILLEGAL_INSTRUCTION:
    179182  case XCPT_INVALID_LOCK_SEQUENCE:
    180183  case XCPT_GUARD_PAGE_VIOLATION:
Note: See TracChangeset for help on using the changeset viewer.