1 /* 2 * This is the entry point for the Python 2.3 core DLL. 3 */ 4 5 #define NULL 0 6 7 #define REF(s) extern void s(); void *____ref_##s = &s; 8 9 /* Make references to imported symbols to pull them from static library */ 10 REF(Py_Main); 11 12 #include <signal.h> 13 14 extern int _CRT_init(void); 15 extern void _CRT_term(void); 16 extern void __ctordtorInit(void); 17 extern void __ctordtorTerm(void); 18 _DLL_InitTerm(unsigned long mod_handle,unsigned long flag)19unsigned long _DLL_InitTerm(unsigned long mod_handle, unsigned long flag) 20 { 21 switch (flag) 22 { 23 case 0: 24 if (_CRT_init()) 25 return 0; 26 __ctordtorInit(); 27 28 /* Ignore fatal signals */ 29 signal(SIGSEGV, SIG_IGN); 30 signal(SIGFPE, SIG_IGN); 31 32 return 1; 33 34 case 1: 35 __ctordtorTerm(); 36 _CRT_term(); 37 return 1; 38 39 default: 40 return 0; 41 } 42 } 43