From 7467ce3eeadaedf89961884d5052a2d94a8b114e Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Mon, 13 Feb 1995 11:41:40 +0000 Subject: [PATCH] Startup code for applications using the python shared library. Modified because the startup code has to work together with the runtime support in the shared library. --- Mac/mwerks/macuseshlstart.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Mac/mwerks/macuseshlstart.c diff --git a/Mac/mwerks/macuseshlstart.c b/Mac/mwerks/macuseshlstart.c new file mode 100644 index 00000000000..d26a89fd3a1 --- /dev/null +++ b/Mac/mwerks/macuseshlstart.c @@ -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 + +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(); +}