aboutsummaryrefslogtreecommitdiffstats
path: root/src/repo
diff options
context:
space:
mode:
Diffstat (limited to 'src/repo')
-rw-r--r--src/repo/s6-rc-repo-init.c5
-rw-r--r--src/repo/s6-rc-repo-sync.c5
-rw-r--r--src/repo/s6-rc-set-change.c2
-rw-r--r--src/repo/s6-rc-set-copy.c2
4 files changed, 8 insertions, 6 deletions
diff --git a/src/repo/s6-rc-repo-init.c b/src/repo/s6-rc-repo-init.c
index 335d83f..3c353fe 100644
--- a/src/repo/s6-rc-repo-init.c
+++ b/src/repo/s6-rc-repo-init.c
@@ -189,7 +189,8 @@ int main (int argc, char const *const *argv)
if (!(wgolb & GOLB_BARE))
{
- if (!s6rc_repo_sync(wgola[GOLA_REPODIR], verbosity, wgola[GOLA_FDHUSER]))
+ int r = s6rc_repo_sync(wgola[GOLA_REPODIR], verbosity, wgola[GOLA_FDHUSER]) ;
+ if (r <= 0)
{
char stores[repolen + 8] ;
char snew[repolen + 16] ;
@@ -200,7 +201,7 @@ int main (int argc, char const *const *argv)
if (!atomic_symlink4(sold + repolen + 1, stores, snew + repolen + 1, 15))
strerr_diefu7sys(111, "atomically switch back stores at ", wgola[GOLA_REPODIR], " - old store is ", sold + repolen + 1, " and new (invalid) store is ", snew + repolen + 1, " - reported error was") ;
rm_rf(snew) ;
- _exit(111) ;
+ _exit(r ? 111 : 1) ;
}
}
diff --git a/src/repo/s6-rc-repo-sync.c b/src/repo/s6-rc-repo-sync.c
index 474eec5..ce04d7b 100644
--- a/src/repo/s6-rc-repo-sync.c
+++ b/src/repo/s6-rc-repo-sync.c
@@ -32,7 +32,7 @@ int main (int argc, char const *const *argv)
char const *wgola[GOLA_N] = { 0 } ;
unsigned int verbosity = 1 ;
unsigned int golc ;
- int fdlock ;
+ int fdlock, r ;
PROG = "s6-rc-repo-sync" ;
wgola[GOLA_REPODIR] = S6RC_REPO_BASE ;
@@ -45,7 +45,8 @@ int main (int argc, char const *const *argv)
fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ;
if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ;
- if (!s6rc_repo_sync(wgola[GOLA_REPODIR], verbosity, wgola[GOLA_FDHUSER])) _exit(111) ;
+ r = s6rc_repo_sync(wgola[GOLA_REPODIR], verbosity, wgola[GOLA_FDHUSER]) ;
+ if (r <= 0) _exit(r ? 111 : 1) ;
if (!s6rc_repo_touch(wgola[GOLA_REPODIR])) _exit(111) ;
_exit(0) ;
diff --git a/src/repo/s6-rc-set-change.c b/src/repo/s6-rc-set-change.c
index 188b11c..2758fa6 100644
--- a/src/repo/s6-rc-set-change.c
+++ b/src/repo/s6-rc-set-change.c
@@ -127,7 +127,7 @@ int main (int argc, char const *const *argv)
newsub = bsearch(argv[1], accepted_subs, sizeof(accepted_subs)/sizeof(struct subname_s), sizeof(struct subname_s), &subname_cmp) ;
if (!newsub) strerr_dief2x(100, "unrecognized state change directive:", argv[1]) ;
if (newsub->sub == 3 && !(wgolb & GOLB_FORCE_ESSENTIAL))
- strerr_dief1x(100, " artificially mark a service as essential without --force-essential") ;
+ strerr_diefu1x(10, " artificially mark a service as essential without --force-essential") ;
fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ;
if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ;
diff --git a/src/repo/s6-rc-set-copy.c b/src/repo/s6-rc-set-copy.c
index 372a23c..3093aaf 100644
--- a/src/repo/s6-rc-set-copy.c
+++ b/src/repo/s6-rc-set-copy.c
@@ -79,7 +79,7 @@ static inline void docopy (char const *repo, char const *srcname, char const *ds
if (r == -1) strerr_diefu2sys(111, "readlink ", dst) ;
if (r != dstlen + 8) strerr_dief3x(102, "symlink ", dst, "doesn't point to a valid name") ;
}
- else strerr_dief4x(100, "set ", dstname, " already exists in repository ", repo) ;
+ else strerr_dief4x(1, "set ", dstname, " already exists in repository ", repo) ;
memcpy(realsrc, src, repolen + 9) ;
r = readlink(src, realsrc + repolen + 9, srclen + 9) ;