symbian-qemu-0.9.1-12/python-2.6.1/PC/os2emx/dllentry.c
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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 
       
    19 unsigned 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 }