X-Git-Url: https://git.distorted.org.uk/~mdw/fwd/blobdiff_plain/17ded99b880a9d546bd3d9ac3106c7da558fda4e..86c9bc4bc9e9b99482bcc5a2c6da8f5ec7516f69:/chan.c diff --git a/chan.c b/chan.c index e5b6d06..5fbecb1 100644 --- a/chan.c +++ b/chan.c @@ -80,9 +80,9 @@ static void writechan(int fd, unsigned mode, void *vp) if (w < 0) { if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK) return; + c->err = errno; goto close; - } - else if (w == 0) + } else if (w == 0) goto close; else if (c->len == CHAN_BUFSZ && !(c->f & CHANF_CLOSE)) sel_addfile(&c->r); @@ -153,9 +153,9 @@ static void readchan(int fd, unsigned mode, void *vp) if (r < 0) { if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK) return; + c->err = errno; goto close; - } - else if (r == 0) + } else if (r == 0) goto close; else if (c->len == 0 && (c->f & CHANF_READY)) { sel_addfile(&c->w);