]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Startup code for applications using the python shared
authorJack Jansen <jack.jansen@cwi.nl>
Mon, 13 Feb 1995 11:41:40 +0000 (11:41 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Mon, 13 Feb 1995 11:41:40 +0000 (11:41 +0000)
library. Modified because the startup code has to work together with
the runtime support in the shared library.

Mac/mwerks/macuseshlstart.c [new file with mode: 0644]

diff --git a/Mac/mwerks/macuseshlstart.c b/Mac/mwerks/macuseshlstart.c
new file mode 100644 (file)
index 0000000..d26a89f
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+** mac __start for python-with-shared-library.
+**
+** Partially stolen from MW Startup.c, which is
+**     Copyright © 1993 metrowerks inc. All Rights Reserved.
+*/
+
+#include <setjmp.h>
+
+extern jmp_buf __program_exit;                 /*      exit() does a longjmp() to here         */
+extern void (*__atexit_hook)(void);            /*      atexit()  sets this up if it is ever called     */
+extern void (*___atexit_hook)(void);   /*      _atexit() sets this up if it is ever called     */
+extern int __aborting;                                 /*      abort() sets this and longjmps to __program_exit        */
+
+void __start(void)
+{
+       char *argv = 0;
+       
+       if (setjmp(__program_exit) == 0) {      //      set up jmp_buf for exit()
+               main(0, &argv);                         //      call main(argc, argv)
+               if (__atexit_hook)
+                       __atexit_hook();                        //      call atexit() procs
+       }
+       if (!__aborting) {
+               if (___atexit_hook)
+                       ___atexit_hook();                       //      call _atexit() procs
+       }
+//     ExitToShell();
+}