authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-16 21:35:12-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-16 21:35:12-05:00
log364a284eb3b5e90a9ec0ea6b29be8b74d2a92fa5
tree3b517217c83a56459165bb7d806ce0f891d8640d
parenta26800c0992b123b1ef16712ec1e56fb62b0caf9
signature Commit is signed but in an unrecognized format.

stage1 os: handle errors from read/write

not sure why the CI is complaining about these now and not in master branch. but this is a slight code improvement anyway

1 files changed, 9 insertions(+), 3 deletions(-)

src/os.cpp+9-3
......@@ -826,7 +826,9 @@ static Error os_exec_process_posix(ZigList<const char *> &args,
826826 if (errno == ENOENT) {
827827 report_err = ErrorFileNotFound;
828828 }
829 write(err_pipe[1], &report_err, sizeof(Error));
829 if (write(err_pipe[1], &report_err, sizeof(Error)) == -1) {
830 zig_panic("write failed");
831 }
830832 exit(1);
831833 } else {
832834 // parent
......@@ -851,9 +853,13 @@ static Error os_exec_process_posix(ZigList<const char *> &args,
851853 if (err2) return err2;
852854
853855 Error child_err = ErrorNone;
854 write(err_pipe[1], &child_err, sizeof(Error));
856 if (write(err_pipe[1], &child_err, sizeof(Error)) == -1) {
857 zig_panic("write failed");
858 }
855859 close(err_pipe[1]);
856 read(err_pipe[0], &child_err, sizeof(Error));
860 if (read(err_pipe[0], &child_err, sizeof(Error)) == -1) {
861 zig_panic("write failed");
862 }
857863 close(err_pipe[0]);
858864 return child_err;
859865 }