From d4c44ff1cc68bcd7ce693b29616b25f96beca379 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 8 Apr 2016 12:59:23 +0000 Subject: s6-touch: ensure the times are updated even when the filesystem isn't responsive to open() --- src/skaembutils/s6-touch.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/skaembutils/s6-touch.c b/src/skaembutils/s6-touch.c index b149835..ca5bdd0 100644 --- a/src/skaembutils/s6-touch.c +++ b/src/skaembutils/s6-touch.c @@ -1,5 +1,8 @@ /* ISC license. */ +#include +#include +#include #include #include @@ -7,6 +10,7 @@ int main (int argc, char const *const *argv) { + static struct timespec const now2[2] = { { .tv_sec = 0, .tv_nsec = UTIME_NOW }, { .tv_sec = 0, .tv_nsec = UTIME_NOW } } ; char const *const *p = argv + 1 ; PROG = "s6-touch" ; if (argc < 2) strerr_dieusage(100, USAGE) ; @@ -14,6 +18,7 @@ int main (int argc, char const *const *argv) { register int fd = open_append(*p) ; if (fd < 0) strerr_diefu2sys(111, "open_append ", *p) ; + if (futimens(fd, now2) < 0) strerr_diefu2sys(111, "futimens ", *p) ; fd_close(fd) ; } return 0 ; -- cgit v1.2.3