Changeset 570
- Timestamp:
- Aug 10, 2003, 11:40:53 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/src/lib/startup/dllinit.c
-
Property cvs2svn:cvs-rev
changed from
1.8
to1.9
r569 r570 5 5 6 6 #include <emx/startup.h> 7 extern int _CRT_init (void);8 extern void __ctordtorInit (void);9 extern void __ctordtorTerm (void);10 extern void __ehInit (void);11 #pragma weak __ehInit12 extern void __ehTerm (void);13 #pragma weak __ehTerm14 15 #ifndef _System16 # define _System17 #endif18 7 19 8 /** 20 * This is the typical DLL startup code. __ehInit and __ehTerm is called 21 * are for exception handler stuff in gcc, the two functions will be linked if 22 * there is exception handler info in the module. (Btw. if these calls wasn't 23 * made we would fail to catch exceptions in C++ code.) 9 * This is the typical DLL startup code. 10 * 24 11 * @returns 1 on success. 25 12 * @returns 0 on failure. … … 28 15 * 1 term. 29 16 * @remark This function is called from dll0.asm. 17 * @todo _CRT_term() needs a checkup, it used to be called from here too.. 30 18 */ 31 19 unsigned _System _DLL_InitTerm (unsigned hmod, unsigned flag) … … 36 24 if (_CRT_init () != 0) 37 25 break; 38 #if 0 /** @todo Weaks aren't working too well with ld at the moment.39 * Andy added the calls to the static constructor and destructor lists40 * which means we don't guarantee that throw/catch works during init41 * and destruction of static objects. Don't belive it'll cause any42 * trouble. Before too long we should put back this code.43 */44 if (__ehInit)45 __ehInit ();46 #endif47 26 __ctordtorInit (); 48 27 return 1; 49 28 case 1: 50 29 __ctordtorTerm (); 51 #if 0 /* weaks aren't working at the moment */52 if (__ehTerm)53 __ehTerm ();54 #endif55 30 return 1; 56 31 } 57 32 return 0; 58 33 } 34 -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.