Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v2 2/2] gc: config option for running --auto in background

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:53

Duy Nguyen [off-list ref] writes:
On Tue, Feb 11, 2014 at 2:11 AM, Junio C Hamano [off-list ref] wrote:
quoted
On Mon, Feb 10, 2014 at 10:43 AM, Junio C Hamano [off-list ref] wrote:
quoted
quoted
If --quiet is set, we should not be printing anyway. If not, I thinkg
we could only print "auto packing in background.." when we actually
can do that, else just print the old message. It means an #ifdef
NO_POSIX_GOODIES here again though..
Didn't you change it not to die but return nosys or something?
Ah, the problem is that it is too late to take back "... will do so in
the background" when you noticed that daemonize() did not succeed, so
you would need a way to see if we can daemonize() before actually
doing so if you want to give different messages.

"int can_daemonize(void)" could be an answer that is nicer than
NO_POSIX_GOODIES, but I am not sure if it is worth it.
Or we could pass the "quiet" flag to daemonize() and let it print
something in the #ifdef NO_POSIX_GOODIES part.
Hmph...  What would that something say?  "I was asked to gc in the
background but I can't here" is not suitable for daemonize() that is
not specific to "gc".

The flow I had in mind was something along the lines of this

	if (!quiet) {
        	if (detach_auto && can_daemonize())
                	say "auto packing in the background";
		else
                       	say "auto packing"
	}
        if (detach_auto && can_daemonize())
        	daemonize();

If we had daemonize(noisy=1) and coded it this way:

	if (!quiet)
        	say "auto packing";
	if (detach_auto)
        	daemonize(!quiet);

we could do something like:

	daemonize(int noisy) {
        	if (noisy && !defined(NO_POSIX_GOODIES))
                	say ", and doing so in the background";
		... do the actual daemonizing ...
	}

but that feels ugly.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help