Commit 717a9582 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

unix: Print unhandled exception to stderr, like CPython does.

parent 4ed7b7f7
...@@ -73,6 +73,13 @@ STATIC void sighandler(int signum) { ...@@ -73,6 +73,13 @@ STATIC void sighandler(int signum) {
} }
#endif #endif
STATIC void stderr_print_strn(void *env, const char *str, mp_uint_t len) {
(void)env;
fwrite(str, len, 1, stderr);
}
const mp_print_t mp_stderr_print = {NULL, stderr_print_strn};
#define FORCED_EXIT (0x100) #define FORCED_EXIT (0x100)
// If exc is SystemExit, return value where FORCED_EXIT bit set, // If exc is SystemExit, return value where FORCED_EXIT bit set,
// and lower 8 bits are SystemExit value. For all other exceptions, // and lower 8 bits are SystemExit value. For all other exceptions,
...@@ -90,7 +97,7 @@ STATIC int handle_uncaught_exception(mp_obj_t exc) { ...@@ -90,7 +97,7 @@ STATIC int handle_uncaught_exception(mp_obj_t exc) {
} }
// Report all other exceptions // Report all other exceptions
mp_obj_print_exception(&mp_plat_print, exc); mp_obj_print_exception(&mp_stderr_print, exc);
return 1; return 1;
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment