Duy Nguyen <[email protected]> writes:
> On Tue, Feb 11, 2014 at 2:11 AM, Junio C Hamano <[email protected]> wrote:
>> On Mon, Feb 10, 2014 at 10:43 AM, Junio C Hamano <[email protected]> wrote:
>>>> 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.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html