From 26c5fee82736e56cff3d114ff9d6e3969d1ce061 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 20 Mar 2018 14:52:26 +0000 Subject: Add death tally support to s6-supervise, throttling support to s6_svstatus_t --- src/libs6/s6_dtally_write.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/libs6/s6_dtally_write.c (limited to 'src/libs6/s6_dtally_write.c') diff --git a/src/libs6/s6_dtally_write.c b/src/libs6/s6_dtally_write.c new file mode 100644 index 0000000..785376a --- /dev/null +++ b/src/libs6/s6_dtally_write.c @@ -0,0 +1,16 @@ +/* ISC license. */ + +#include +#include +#include + +int s6_dtally_write (char const *sv, s6_dtally_t const *tab, size_t n) +{ + size_t len = strlen(sv) ; + char fn[len + sizeof(S6_DTALLY_FILENAME) + 1] ; + char tmp[n ? S6_DTALLY_PACK * n : 1] ; + memcpy(fn, sv, len) ; + memcpy(fn + len, "/" S6_DTALLY_FILENAME, sizeof(S6_DTALLY_FILENAME) + 1) ; + for (size_t i = 0 ; i < n ; i++) s6_dtally_pack(tmp + i * S6_DTALLY_PACK, tab + i) ; + return openwritenclose_suffix(fn, tmp, n * S6_DTALLY_PACK, ".new") ; +} -- cgit v1.3.1