Changeset 617 for trunk/src/kernel32/wintls.cpp
- Timestamp:
- Aug 22, 1999, 1:11:11 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/wintls.cpp
r286 r617 1 /* $Id: wintls.cpp,v 1. 3 1999-07-09 15:58:54sandervl Exp $ */1 /* $Id: wintls.cpp,v 1.4 1999-08-22 11:11:11 sandervl Exp $ */ 2 2 /* 3 3 * Win32 TLS API functions … … 13 13 #include <thread.h> 14 14 #include <wprocess.h> 15 #include <except.h> 16 #include "exceptutil.h" 15 17 16 18 //****************************************************************************** … … 49 51 void Win32Image::tlsAttachThread() //setup TLS structures for new thread 50 52 { 53 EXCEPTION_FRAME exceptFrame; 51 54 PIMAGE_TLS_CALLBACK *pCallback; 52 TEB *winteb; 53 char *tibmem; 55 USHORT sel; 56 TEB *winteb; 57 char *tibmem; 54 58 55 59 if(!tlsAddress) … … 86 90 while(*pCallback) { 87 91 dprintf(("tlsAttachThread: calling TLS Callback %x", *pCallback)); 92 93 OS2SetExceptionHandler((void *)&exceptFrame); 94 sel = SetWin32TIB(); 88 95 (*pCallback)((LPVOID)hinstance, DLL_THREAD_ATTACH, 0); 96 SetFS(sel); 97 OS2UnsetExceptionHandler((void *)&exceptFrame); 98 89 99 dprintf(("tlsAttachThread: finished calling TLS Callback %x", *pCallback)); 90 100 *pCallback++; … … 97 107 void Win32Image::tlsDetachThread() //destroy TLS structures 98 108 { 109 EXCEPTION_FRAME exceptFrame; 99 110 PIMAGE_TLS_CALLBACK *pCallback; 100 TEB *winteb; 111 USHORT sel; 112 TEB *winteb; 101 113 102 114 if(!tlsAddress) … … 109 121 while(*pCallback) { 110 122 dprintf(("tlsDetachThread: calling TLS Callback %x", *pCallback)); 123 124 OS2SetExceptionHandler((void *)&exceptFrame); 125 sel = SetWin32TIB(); 111 126 (*pCallback)((LPVOID)hinstance, DLL_THREAD_DETACH, 0); 127 SetFS(sel); 128 OS2UnsetExceptionHandler((void *)&exceptFrame); 129 112 130 dprintf(("tlsDetachThread: finished calling TLS Callback %x", *pCallback)); 113 131 *pCallback++;
Note:
See TracChangeset
for help on using the changeset viewer.