You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
856 B
43 lines
856 B
/*
|
|
* 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;
|
|
}
|
|
}
|