From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.sysutils.supervision.general/856 Path: news.gmane.org!not-for-mail From: Gerrit Pape Newsgroups: gmane.comp.sysutils.supervision.general Subject: Re: runit - access to run script's exit status for finish? Date: Mon, 29 Aug 2005 08:12:39 +0000 Message-ID: <20050829080807.24479.qmail@b57f7a37a4464e.315fe32.mid.smarden.org> References: <20050529055250.21848.qmail@eea771e6cc397c.315fe32.mid.smarden.org> <20050530074233.GA17439@skarnet.org> <20050531114539.16382.qmail@6607a8c5b39a0b.315fe32.mid.smarden.org> <20050531190911.25938.qmail@adf4e649eec508.315fe32.mid.smarden.org> <20050601000521.GB32490@grummit.biaix.org> <20050827192438.24239.qmail@573d30f8a31845.315fe32.mid.smarden.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1125302955 15403 80.91.229.2 (29 Aug 2005 08:09:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 29 Aug 2005 08:09:15 +0000 (UTC) Original-X-From: supervision-return-1092-gcsg-supervision=m.gmane.org@list.skarnet.org Mon Aug 29 10:09:08 2005 Return-path: Original-Received: from antah.skarnet.org ([212.85.147.14]) by ciao.gmane.org with smtp (Exim 4.43) id 1E9egE-0002lm-BO for gcsg-supervision@gmane.org; Mon, 29 Aug 2005 10:07:46 +0200 Original-Received: (qmail 25682 invoked by uid 76); 29 Aug 2005 08:08:06 -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 25677 invoked from network); 29 Aug 2005 08:08:06 -0000 Original-To: supervision@list.skarnet.org Mail-Followup-To: supervision@list.skarnet.org Content-Disposition: inline In-Reply-To: Xref: news.gmane.org gmane.comp.sysutils.supervision.general:856 Archived-At: On Sat, Aug 27, 2005 at 05:56:34PM -0500, Charles Duffy wrote: > On Sat, 27 Aug 2005 19:24:35 +0000, Gerrit Pape wrote: > > I still don't know what's the best way to pass this information to the > > ./finish script. Providing the exit code of ./run through the > > environment seems to be the best solution, but (1) only the ./finish > > script's environment should be altered, not the ./run script's, and (2) > > runsv currently doesn't allocate memory dynamically, I don't want to > > change that. > > I suppose doing an unsetenv() is unacceptable because it would interfere > wih run's environment if run had set (or was expecting the outside world > to set) a variable with the same name. Personally, to be honest, I'd > consider this acceptable so long as it was documented and the chosen name > was unlikely to collide with anything -- but even so, I can appreciate our > reluctance to go this route. > > Your suggestion of stuffing it in the status file makes sense, then -- but > a convenient way to get the info still out is still needed. How about > having an argument to runsvstat to retrieve *only* this piece of > information? (For that matter, being able to do the same with other data > in the status file would be likewise useful). This sounds like a very good idea. I didn't re-check, but it should be possible to extend the supervise/status file by two bytes, being the last return code from ./run and ./finish, initially 0, without breaking backward compatibility. To query this information, I would prefer to extend the sv program, not runsvstat. runsvctrl, runsvstat, svwaitdown, svwaitup, most probably will get obsolete some time, as the functionality is integrated into sv. I'm not sure about the user interface, whether sv should support special commands for this, or command line switches, or so. Regards, Gerrit.