From c84b8ade3f2d1349a6e4b68b1bd497b0909cfcda Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Sun, 16 Jul 2017 15:57:07 +0000 Subject: Propagate fd_close() changes, fix deps for ftrigr_updateb() --- src/libs6/deps-lib/s6 | 2 ++ src/libs6/ftrigr_wait_and.c | 3 ++- src/libs6/s6_fdholder_getdump.c | 2 -- src/libs6/s6_svc_lock_take.c | 2 -- src/libs6/s6_svc_write.c | 2 -- 5 files changed, 4 insertions(+), 7 deletions(-) (limited to 'src/libs6') diff --git a/src/libs6/deps-lib/s6 b/src/libs6/deps-lib/s6 index 5acb672..9cb4d93 100644 --- a/src/libs6/deps-lib/s6 +++ b/src/libs6/deps-lib/s6 @@ -1,12 +1,14 @@ ftrigr1_zero.o ftrigr_check.o ftrigr_checksa.o +ftrigr_ack.o ftrigr_end.o ftrigr_start.o ftrigr_startf.o ftrigr_subscribe.o ftrigr_unsubscribe.o ftrigr_update.o +ftrigr_updateb.o ftrigr_wait_and.o ftrigr_wait_or.o ftrigr_zero.o diff --git a/src/libs6/ftrigr_wait_and.c b/src/libs6/ftrigr_wait_and.c index 92080e7..dee03fd 100644 --- a/src/libs6/ftrigr_wait_and.c +++ b/src/libs6/ftrigr_wait_and.c @@ -19,8 +19,9 @@ int ftrigr_wait_and (ftrigr_t *a, uint16_t const *idlist, unsigned int n, tain_t r = iopause_stamp(&x, 1, deadline, stamp) ; if (r < 0) return r ; else if (!r) return (errno = ETIMEDOUT, -1) ; - else if (ftrigr_update(a) < 0) return -1 ; + else if (ftrigr_updateb(a) < 0) return -1 ; } } + return 1 ; } diff --git a/src/libs6/s6_fdholder_getdump.c b/src/libs6/s6_fdholder_getdump.c index fb751fa..bb7fb3f 100644 --- a/src/libs6/s6_fdholder_getdump.c +++ b/src/libs6/s6_fdholder_getdump.c @@ -65,11 +65,9 @@ int s6_fdholder_getdump (s6_fdholder_t *a, genalloc *g, tain_t const *deadline, errno = EPROTO ; err: { - int e = errno ; size_t j = genalloc_len(s6_fdholder_fd_t, g) ; while (j-- > oldlen) fd_close(genalloc_s(s6_fdholder_fd_t, g)[j].fd) ; genalloc_setlen(s6_fdholder_fd_t, g, oldlen) ; - errno = e ; } return 0 ; } diff --git a/src/libs6/s6_svc_lock_take.c b/src/libs6/s6_svc_lock_take.c index 57830c0..3dec282 100644 --- a/src/libs6/s6_svc_lock_take.c +++ b/src/libs6/s6_svc_lock_take.c @@ -19,9 +19,7 @@ int s6_svc_lock_take (char const *dir) if (fdlock < 0) return -1 ; if (coe(fdlock) < 0 || lock_ex(fdlock) < 0) { - int e = errno ; fd_close(fdlock) ; - errno = e ; return -1 ; } return fdlock ; diff --git a/src/libs6/s6_svc_write.c b/src/libs6/s6_svc_write.c index ebd8ab0..3ebf3b4 100644 --- a/src/libs6/s6_svc_write.c +++ b/src/libs6/s6_svc_write.c @@ -12,9 +12,7 @@ int s6_svc_write (char const *fifo, char const *data, size_t datalen) else if (ndelay_off(fd) == -1) return -1 ; else if (fd_write(fd, data, datalen) == -1) { - int e = errno ; fd_close(fd) ; - errno = e ; return -1 ; } fd_close(fd) ; -- cgit v1.2.3