From 0e7b69f1af91ccf288f3e1fd29ea7c65b7f6f986 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 7 Dec 2020 17:55:23 +0000 Subject: Prepare for 0.5.2.1; build against new skalibs/execline/s6 --- src/libs6rc/s6rc_servicedir_copy_online.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/libs6rc/s6rc_servicedir_copy_online.c') diff --git a/src/libs6rc/s6rc_servicedir_copy_online.c b/src/libs6rc/s6rc_servicedir_copy_online.c index e676d5a..5e84079 100644 --- a/src/libs6rc/s6rc_servicedir_copy_online.c +++ b/src/libs6rc/s6rc_servicedir_copy_online.c @@ -5,7 +5,9 @@ #include #include #include + #include + #include #include "s6rc-servicedir-internal.h" #include @@ -27,7 +29,12 @@ int s6rc_servicedir_copy_online (char const *src, char const *dst) memcpy(oldfn, dst, dstlen) ; memcpy(oldfn + dstlen, "/old", 5) ; if (rm_rf(oldfn) < 0 && errno != ENOENT) return 0 ; - if (mkdir(oldfn, 0755) < 0) return 0 ; + { + mode_t m = umask(0) ; + int r = mkdir(oldfn, 0755) ; + umask(m) ; + if (r < 0) return 0 ; + } dstfn[dstlen] = '/' ; oldfn[dstlen + 4] = '/' ; wantup = s6rc_servicedir_block(dst) ; -- cgit v1.3.1