symbian-qemu-0.9.1-12/python-2.6.1/PC/os2emx/dllentry.c
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/PC/os2emx/dllentry.c	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,42 @@
+/*
+ * 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;
+	}
+}