summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--py/persistentcode.c3
-rw-r--r--py/reader.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/py/persistentcode.c b/py/persistentcode.c
index de84c1735..67c8f327f 100644
--- a/py/persistentcode.c
+++ b/py/persistentcode.c
@@ -644,6 +644,9 @@ void mp_raw_code_save_file(mp_compiled_module_t *cm, const char *filename) {
MP_THREAD_GIL_EXIT();
int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644);
MP_THREAD_GIL_ENTER();
+ if (fd < 0) {
+ mp_raise_OSError_with_filename(errno, filename);
+ }
mp_print_t fd_print = {(void *)(intptr_t)fd, fd_print_strn};
mp_raw_code_save(cm, &fd_print);
MP_THREAD_GIL_EXIT();
diff --git a/py/reader.c b/py/reader.c
index d68406b1c..57b12b3b6 100644
--- a/py/reader.c
+++ b/py/reader.c
@@ -139,7 +139,7 @@ void mp_reader_new_file(mp_reader_t *reader, const char *filename) {
int fd = open(filename, O_RDONLY, 0644);
MP_THREAD_GIL_ENTER();
if (fd < 0) {
- mp_raise_OSError(errno);
+ mp_raise_OSError_with_filename(errno, filename);
}
mp_reader_new_file_from_fd(reader, fd, true);
}