diff options
-rw-r--r-- | doc/s6-svstat.html | 4 | ||||
-rw-r--r-- | src/supervision/s6-svstat.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/doc/s6-svstat.html b/doc/s6-svstat.html index 0da40cd..a77f903 100644 --- a/doc/s6-svstat.html +++ b/doc/s6-svstat.html @@ -75,7 +75,9 @@ are as follows. <em>fields</em> is a list of comma-separated field names. The valid field names are the following: <ul> - <li> <tt>up</tt>: print <tt>true</tt> if the service is up and <tt>false</tt> if it is down. </li> + <li> <tt>up</tt>: print <tt>true</tt> if the service is up and <tt>false</tt> if it is down. +If the service is being throttled (i.e. technically up, but sleeping for a certain +amount of time before it is really launched), it prints <tt>throttled</tt> instead of <tt>true</tt>. </li> <li> <tt>wantedup</tt>: print <tt>true</tt> if <a href="s6-supervise.html">s6-supervise</a> is currently instructed to (re)start the service when it is down, and <tt>false</tt> if <a href="s6-supervise.html">s6-supervise</a> is currently instructed to leave the service alone. </li> diff --git a/src/supervision/s6-svstat.c b/src/supervision/s6-svstat.c index 03ea004..d46c60a 100644 --- a/src/supervision/s6-svstat.c +++ b/src/supervision/s6-svstat.c @@ -35,7 +35,7 @@ struct funcmap_s static void pr_up (buffer *b, s6_svstatus_t const *st) { - buffer_putsnoflush(b, st->pid && !st->flagfinishing ? "true" : "false") ; + buffer_putsnoflush(b, st->pid && !st->flagfinishing ? st->flagthrottled ? "throttled" : "true" : "false") ; } static void pr_wantedup (buffer *b, s6_svstatus_t const *st) @@ -210,6 +210,8 @@ static void legacy (s6_svstatus_t *st, int flagnum) buffer_putnoflush(buffer_1small, fmt, uint64_fmt(fmt, status.stamp.sec.x)) ; buffer_putnoflush(buffer_1small, " seconds", 8) ; + if (isup && status.flagthrottled) + buffer_putnoflush(buffer_1small, ", throttled", 11) ; if (isup && !normallyup) buffer_putnoflush(buffer_1small, ", normally down", 15) ; if (!isup && normallyup) |