diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-10-05 18:24:32 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-10-05 18:24:32 +0000 |
| commit | 984a85c9f2bbb2ac58b8f5e0e25ac7672c74cf08 (patch) | |
| tree | 02503a065c789c55f43388d3ea05bd6e003dec20 | |
| parent | 49e9373b3231279b5acaf060c09121054f655023 (diff) | |
| download | s6-frontend-984a85c9f2bbb2ac58b8f5e0e25ac7672c74cf08.tar.gz | |
When committing, fd-hold the catch-all logger fifo
| -rw-r--r-- | src/s6-frontend/set_apply.c | 9 | ||||
| -rw-r--r-- | src/s6-frontend/set_commit.c | 7 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/s6-frontend/set_apply.c b/src/s6-frontend/set_apply.c index 1bb091e..c250ad5 100644 --- a/src/s6-frontend/set_apply.c +++ b/src/s6-frontend/set_apply.c @@ -42,9 +42,11 @@ void set_apply (char const *const *argv) int wstat ; pid_t pid ; char const *wgola[GOLA_N] = { 0 } ; - char const *newargv[15] ; + size_t slen = strlen(g->dirs.scan) ; + char const *newargv[17] ; char fmtv[UINT_FMT] ; char fmtt[UINT_FMT] ; + char catchall[slen + 15] ; wgola[GOLA_DEFBUNDLE] = S6_FRONTEND_DEFBUNDLE ; wgola[GOLA_SET] = "current" ; @@ -57,6 +59,9 @@ void set_apply (char const *const *argv) strerr_dief1x(100, "timeout must be an integer (milliseconds)") ; } + memcpy(catchall, g->dirs.scan, slen) ; + memcpy(catchall + slen, "/s6-svscan-log", 15) ; + /* set commit */ newargv[m++] = S6RC_EXTBINPREFIX "s6-rc-set-commit" ; if (g->verbosity != 1) @@ -74,6 +79,8 @@ void set_apply (char const *const *argv) newargv[m++] = "-h" ; newargv[m++] = g->fdhuser ; } + newargv[m++] = "-L" ; + newargv[m++] = catchall ; newargv[m++] = "--" ; newargv[m++] = wgola[GOLA_SET] ; newargv[m++] = 0 ; diff --git a/src/s6-frontend/set_commit.c b/src/s6-frontend/set_commit.c index eb98bd5..105c012 100644 --- a/src/s6-frontend/set_commit.c +++ b/src/s6-frontend/set_commit.c @@ -36,14 +36,19 @@ void set_commit (char const *const *argv) uint64_t wgolb = 0 ; unsigned int m = 0 ; + size_t slen = strlen(g->dirs.scan) ; char const *wgola[GOLA_N] = { 0 } ; char const *newargv[14] ; char fmtv[UINT_FMT] ; + char catchall[slen + 15] ; wgola[GOLA_DEFBUNDLE] = S6_FRONTEND_DEFBUNDLE ; wgola[GOLA_SET] = "current" ; argv += GOL_argv(argv, rgolb, rgola, &wgolb, wgola) ; + memcpy(catchall, g->dirs.scan, slen) ; + memcpy(catchall + slen, "/s6-svscan-log", 15) ; + newargv[m++] = S6RC_EXTBINPREFIX "s6-rc-set-commit" ; if (g->verbosity != 1) { @@ -62,6 +67,8 @@ void set_commit (char const *const *argv) newargv[m++] = "-h" ; newargv[m++] = g->fdhuser ; } + newargv[m++] = "-L" ; + newargv[m++] = catchall ; newargv[m++] = "--" ; newargv[m++] = wgola[GOLA_SET] ; newargv[m++] = 0 ; |
