summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-09-08 22:01:34 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-09-08 22:01:34 +0000
commitea30deb53f7abd18dfba55be0468e49b42b07261 (patch)
tree543a29f43919ab1fba336346b02c5892262e7d38
parent405117d42e6222c20e066e67487e87da0d8cf271 (diff)
downloads6-ea30deb53f7abd18dfba55be0468e49b42b07261.tar.xz
Add specific exit to s6-svstat when service is unsupervised
-rw-r--r--doc/s6-svstat.html9
-rw-r--r--src/supervision/s6-svstat.c3
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/s6-svstat.html b/doc/s6-svstat.html
index 5feef0f..bb3d66b 100644
--- a/doc/s6-svstat.html
+++ b/doc/s6-svstat.html
@@ -61,5 +61,14 @@ print the signal number. By default, a symbolic name for the signal will be
printed instead. </li>
</ul>
+<h2> Exit codes </h2>
+
+<ul>
+ <li> 0: success </li>
+ <li> 1: s6-supervise not running on <em>servicedir</em> </li>
+ <li> 100: wrong usage </li>
+ <li> 111: system call failed </li>
+</ul>
+
</body>
</html>
diff --git a/src/supervision/s6-svstat.c b/src/supervision/s6-svstat.c
index bfe87a5..4a413af 100644
--- a/src/supervision/s6-svstat.c
+++ b/src/supervision/s6-svstat.c
@@ -43,6 +43,9 @@ int main (int argc, char const *const *argv)
if (!s6_svstatus_read(*argv, &status))
strerr_diefu2sys(111, "read status for ", *argv) ;
+ isup = s6_svc_ok(argv[0]) ;
+ if (isup < 0) strerr_diefu2sys(111, "check ", argv[0]) ;
+ if (!isup) strerr_diefu3x(1, "read status for ", argv[0], ": s6-supervise not running") ;
tain_now_g() ;
if (tain_future(&status.stamp)) tain_copynow(&status.stamp) ;