On Apr 21, 2009, at 6:17 AM, Lisandro Dalcin wrote: > Robert, your main() implementation needs more work IMHO.
Thanks for the feedback. I just did the basic embedding, as on David McNab's site. It would be good to have it behave more like python -m http://trac.cython.org/cython_trac/ticket/291 > 1) For Py2, you need to if(PyErr_Occurred()) > PyErr_WriteUnraisable(PyErr_Occurred()). Actually, it might be nice to dump the whole traceback here. > 2) In Py3, you have to save the return of PyInit_<modname>, if NULL, > report error (WriteUnraisable again?), if not, decref it. Is PyErr_Occurred not a good enough check here? Yes, I should probably get and decref the module (though it won't matter much as I call Py_Finalize next. > 3) In case of errors, process return value should match what core > CPython returns en case of unhandled execptions. Do you know of a good list? (Otherwise, I'll just try some.) > 3) However, a SystemExit exceptions should need some special > consideration, as you should extract the process return value from it, > as it could be 0 (zero). Good point. - Robert _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
