diff options
| author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2018-09-18 18:57:12 +0000 |
|---|---|---|
| committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2018-09-25 19:35:15 +0000 |
| commit | db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169 (patch) | |
| tree | 9155b09ff5a51bc83994dbef82d5ac6728c76865 /Src | |
| parent | 43543: Further improvements to fg/bg of superjob/subjob. (diff) | |
| download | zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.tar zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.tar.gz zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.tar.bz2 zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.tar.lz zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.tar.xz zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.tar.zst zsh-db67cc2f4b5b1282cb2be719ebb6bfd5a52f9169.zip | |
43489: Add error checking on a new write() call.
Silences a compiler warning (write(2) is declared with warn_unused_result
in current Debian Unstable).
Diffstat (limited to 'Src')
| -rw-r--r-- | Src/exec.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c index a667b078d..1d537af24 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -2745,7 +2745,10 @@ execcmd_fork(Estate state, int how, int type, Wordcode varspc, flags |= ESUB_JOB_CONTROL; *filelistp = jobtab[thisjob].filelist; entersubsh(flags, &esret); - write(synch[1], &esret, sizeof(esret)); + if (write_loop(synch[1], (const void *) &esret, sizeof(esret)) != sizeof(esret)) { + zerr("Failed to send entersubsh_ret report: %e", errno); + return -1; + } close(synch[1]); zclose(close_if_forked); |
