| /* |
| * 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; |
| } |
| } |