aboutsummaryrefslogtreecommitdiff
path: root/ports/unix/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/unix/main.c')
-rw-r--r--ports/unix/main.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/ports/unix/main.c b/ports/unix/main.c
index 903fa40ac..74b557016 100644
--- a/ports/unix/main.c
+++ b/ports/unix/main.c
@@ -64,11 +64,9 @@ long heap_size = 1024 * 1024 * (sizeof(mp_uint_t) / 4);
STATIC void stderr_print_strn(void *env, const char *str, size_t len) {
(void)env;
- MP_THREAD_GIL_EXIT();
- ssize_t dummy = write(STDERR_FILENO, str, len);
- MP_THREAD_GIL_ENTER();
+ ssize_t ret;
+ MP_HAL_RETRY_SYSCALL(ret, write(STDERR_FILENO, str, len), {});
mp_uos_dupterm_tx_strn(str, len);
- (void)dummy;
}
const mp_print_t mp_stderr_print = {NULL, stderr_print_strn};