Last change
on this file since 21619 was 21619, checked in by dmik, 14 years ago |
kernel32: Removed the dirty hack that would reset the exception handler chain before calling DosExit(). This prevented exception handlers in the chain from being called at thread termination and performing the necessary cleanup which is sometimes vital (like releasing locked resources etc).
|
File size:
994 bytes
|
Line | |
---|
1 | /* $Id: exceptutil.h,v 1.15 2003-03-06 12:49:08 sandervl Exp $ */
|
---|
2 |
|
---|
3 | /*
|
---|
4 | * Exception + misc functions for OS/2
|
---|
5 | * Copyright 1998 Sander van Leeuwen
|
---|
6 | * Project Odin Software License can be found in LICENSE.TXT
|
---|
7 | */
|
---|
8 | #ifndef __EXCEPT_H__
|
---|
9 | #define __EXCEPT_H__
|
---|
10 |
|
---|
11 | #ifdef __cplusplus
|
---|
12 | extern "C" {
|
---|
13 | #endif
|
---|
14 |
|
---|
15 | //SvL: Replace original startup code exception handler
|
---|
16 | #ifndef WIN32_TIBSEL
|
---|
17 | void ReplaceExceptionHandler(void);
|
---|
18 | void ChangeTIBStack();
|
---|
19 | #endif
|
---|
20 | void __cdecl SetExceptionChain(DWORD);
|
---|
21 |
|
---|
22 | extern "C" PVOID QueryExceptionChain();
|
---|
23 |
|
---|
24 | void OS2SetExceptionHandler(void *exceptframe);
|
---|
25 | void OS2UnsetExceptionHandler(void *exceptframe);
|
---|
26 |
|
---|
27 | #ifdef DEBUG
|
---|
28 | void PrintExceptionChain();
|
---|
29 | #else
|
---|
30 | #define PrintExceptionChain()
|
---|
31 | #endif
|
---|
32 |
|
---|
33 | ULONG CDECL AsmCallThreadHandler(BOOL fAlignStack, ULONG handler, LPVOID parameter);
|
---|
34 |
|
---|
35 | DWORD CDECL CallEntryPoint(DWORD entryPoint, DWORD parameter);
|
---|
36 |
|
---|
37 | #ifdef __cplusplus
|
---|
38 | }
|
---|
39 | #endif
|
---|
40 |
|
---|
41 | #define ENTER_EXCEPTION 0
|
---|
42 | #define LEAVE_EXCEPTION 1
|
---|
43 | int LogException(int state, int prevlock = 0);
|
---|
44 |
|
---|
45 |
|
---|
46 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.