| /* | |
| * This is the entry point for the Python 2.3 core DLL. | |
| */ | |
| #define NULL 0 | |
| #define REF(s) extern void s(); void *____ref_##s = &s; | |
| /* Make references to imported symbols to pull them from static library */ | |
| REF(Py_Main); | |
| #include <signal.h> | |
| extern int _CRT_init(void); | |
| extern void _CRT_term(void); | |
| extern void __ctordtorInit(void); | |
| extern void __ctordtorTerm(void); | |
| unsigned long _DLL_InitTerm(unsigned long mod_handle, unsigned long flag) | |
| { | |
| switch (flag) | |
| { | |
| case 0: | |
| if (_CRT_init()) | |
| return 0; | |
| __ctordtorInit(); | |
| /* Ignore fatal signals */ | |
| signal(SIGSEGV, SIG_IGN); | |
| signal(SIGFPE, SIG_IGN); | |
| return 1; | |
| case 1: | |
| __ctordtorTerm(); | |
| _CRT_term(); | |
| return 1; | |
| default: | |
| return 0; | |
| } | |
| } |