Changeset 21625 for trunk/src/kernel32


Ignore:
Timestamp:
Apr 15, 2011, 9:35:39 PM (14 years ago)
Author:
dmik
Message:

kernel32: SEH: Fixed: Detecting the successful Win32 FS change was wrong and could cause the unwind at inappropriate times while not doing it at appropriate times.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/seh/sehutil.s

    r21622 r21625  
    8080     * Win32 thread is about to exit and TIB has been already destroyed. */
    8181    movl (%esp), %ecx   /* (%esp) is OS/2 FS pushed above */
    82     andl $0x0000FFFF, %ecx
    83     cmpl %ecx, %eax
     82    movl %fs, %eax
     83    cmpw %cx, %ax
    8484    je ___seh_handler_Skip_Win32_Unwind
    8585
     
    9898    movl %ecx, 0(%eax)  /* pPrev */
    9999
    100     xor %eax, %eax  /* return code is irrelevant for XCPT_UNWIND */
     100    xor %eax, %eax  /* return code is irrelevant for EH_UNWINDING */
    101101    jmp ___seh_handler_Return
    102102
Note: See TracChangeset for help on using the changeset viewer.