From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.sysutils.supervision.general/1205 Path: news.gmane.org!not-for-mail From: Stefan Karrmann Newsgroups: gmane.comp.sysutils.supervision.general Subject: Re: Should svwaitup/down be built again, or how to make sv do this? Date: Mon, 17 Jul 2006 21:32:00 +0200 Message-ID: <20060717193200.GB26631@johann.karrmann.de> References: <200607112100.08660.spamite@ev1.net> <200607121127.48966.spamite@ev1.net> <20060713084421.7943.qmail@0c0c26b6d83f02.315fe32.mid.smarden.org> <200607171256.14899.spamite@ev1.net> Reply-To: S.Karrmann@web.de NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1153330103 10303 80.91.229.2 (19 Jul 2006 17:28:23 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 19 Jul 2006 17:28:23 +0000 (UTC) Original-X-From: supervision-return-1441-gcsg-supervision=m.gmane.org@list.skarnet.org Wed Jul 19 19:28:20 2006 Return-path: Envelope-to: gcsg-supervision@gmane.org Original-Received: from antah.skarnet.org ([212.85.147.14]) by ciao.gmane.org with smtp (Exim 4.43) id 1G3FqJ-0000lL-Im for gcsg-supervision@gmane.org; Wed, 19 Jul 2006 19:28:15 +0200 Original-Received: (qmail 21703 invoked by uid 76); 19 Jul 2006 17:28:35 -0000 Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Archive: Original-Received: (qmail 21698 invoked from network); 19 Jul 2006 17:28:35 -0000 Original-To: supervision@list.skarnet.org Mail-Followup-To: supervision@list.skarnet.org Content-Disposition: inline In-Reply-To: <200607171256.14899.spamite@ev1.net> Mail-Reply-To: User-Agent: Mutt/1.5.11+cvs20060403 Original-Sender: S.Karrmann@web.de X-Sender: S.Karrmann@web.de Xref: news.gmane.org gmane.comp.sysutils.supervision.general:1205 Archived-At: Dear all, due to racing conditions, you cannot guarantee that a service is active. E.g. regard: #! /bin/sh svwaitup /service/foo exec baz After svwaitup returns with success, the service foo can crash before the shell starts the command exec. If foo crashes you can hope that runsv restarts it. It would be worse if foo is in a deadlock. Even if the control of foo is in baz or foo offers a control socket which reports the activity of foo the racing can happen in baz itself. Most of the time you ignore the racing conditions in Un*x. The only formal solution is the usage of timeouts in baz together with error handlers. > So, it sounds like you're saying that the functionality of checking for a > service to be running, and waiting until that service is running before > continuing no longer exists in runit as it is presently built. Is this > correct? Kind regards, -- Stefan Karrmann Computer programmers never die, they just get lost in the processing.