Duy Nguyen <pclo...@gmail.com> writes:

> On Tue, Feb 11, 2014 at 2:11 AM, Junio C Hamano <gits...@pobox.com> wrote:
>> On Mon, Feb 10, 2014 at 10:43 AM, Junio C Hamano <gits...@pobox.com> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to