From: Andreas Ă–man Date: Fri, 1 Apr 2011 13:32:07 +0000 (+0200) Subject: Correctly deal with return value from write() X-Git-Tag: 2.99~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f47066f6ef233b8044bb53900067f5a7e9ef98c;p=thirdparty%2Ftvheadend.git Correctly deal with return value from write() --- diff --git a/src/tcp.c b/src/tcp.c index 171a4dc65..27ed5602f 100644 --- a/src/tcp.c +++ b/src/tcp.c @@ -181,18 +181,18 @@ int tcp_write_queue(int fd, htsbuf_queue_t *q) { htsbuf_data_t *hd; - int l, r; + int l, r = 0; while((hd = TAILQ_FIRST(&q->hq_q)) != NULL) { TAILQ_REMOVE(&q->hq_q, hd, hd_link); l = hd->hd_data_len - hd->hd_data_off; - r = write(fd, hd->hd_data + hd->hd_data_off, l); + r |= !!write(fd, hd->hd_data + hd->hd_data_off, l); free(hd->hd_data); free(hd); } q->hq_size = 0; - return 0; + return r; }