diff options
| author | pefavel <[email protected]> | 2026-03-16 13:37:47 +0300 |
|---|---|---|
| committer | pefavel <[email protected]> | 2026-03-16 16:54:59 +0300 |
| commit | 270b7a3b0ea1e5f7485320b502c5b5b91da457ab (patch) | |
| tree | 45a0524743c578d300fea2765284c965b8af62ed /contrib/tools/python/src/Python/frozenmain.c | |
| parent | de561d04b1e2e861ed3e823d3809f3ae05542dd4 (diff) | |
add fastapi to piglet config
commit_hash:6962a6b28ec3ee5fdc2392a2415810aaa54943c4
Diffstat (limited to 'contrib/tools/python/src/Python/frozenmain.c')
| -rw-r--r-- | contrib/tools/python/src/Python/frozenmain.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/contrib/tools/python/src/Python/frozenmain.c b/contrib/tools/python/src/Python/frozenmain.c new file mode 100644 index 00000000000..e742172494e --- /dev/null +++ b/contrib/tools/python/src/Python/frozenmain.c @@ -0,0 +1,69 @@ + +/* Python interpreter main program for frozen scripts */ + +#include "Python.h" + +#ifdef MS_WINDOWS +extern void PyWinFreeze_ExeInit(void); +extern void PyWinFreeze_ExeTerm(void); +extern int PyInitFrozenExtensions(void); +#endif + +/* Main program */ + +int +Py_FrozenMain(int argc, char **argv) +{ + char *p; + int n, sts; + int inspect = 0; + int unbuffered = 0; + + Py_FrozenFlag = 1; /* Suppress errors from getpath.c */ + + if ((p = Py_GETENV("PYTHONINSPECT")) && *p != '\0') + inspect = 1; + if ((p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0') + unbuffered = 1; + + if (unbuffered) { + setbuf(stdin, (char *)NULL); + setbuf(stdout, (char *)NULL); + setbuf(stderr, (char *)NULL); + } + +#ifdef MS_WINDOWS + PyInitFrozenExtensions(); +#endif /* MS_WINDOWS */ + if (argc >= 1) + Py_SetProgramName(argv[0]); + Py_Initialize(); +#ifdef MS_WINDOWS + PyWinFreeze_ExeInit(); +#endif + + if (Py_VerboseFlag) + fprintf(stderr, "Python %s\n%s\n", + Py_GetVersion(), Py_GetCopyright()); + + PySys_SetArgv(argc, argv); + + n = PyImport_ImportFrozenModule("__main__"); + if (n == 0) + Py_FatalError("__main__ not frozen"); + if (n < 0) { + PyErr_Print(); + sts = 1; + } + else + sts = 0; + + if (inspect && isatty((int)fileno(stdin))) + sts = PyRun_AnyFile(stdin, "<stdin>") != 0; + +#ifdef MS_WINDOWS + PyWinFreeze_ExeTerm(); +#endif + Py_Finalize(); + return sts; +} |
