[Geany-Users] Status bar, process busy indicator, build menu block

Lex Trotman elextr at xxxxx
Sun Jul 30 05:03:45 UTC 2017


On 30 July 2017 at 09:47, Colomban Wendling <lists.ban at herbesfolles.org> wrote:
> Le 28/07/2017 à 22:09, Lex Trotman a écrit :
>> [...]
>>
>>> And the problem at hand IIUC is that you cannot run a build command that
>>> returns immediately yet has some things in background.  And indeed, I'm
>>> afraid it's not possible in the current situation, because Geany waits
>>> on the child (on purpose, as it's supposed to be a build tool and wants
>>> to read the output and more or less control the child); and that
>>> whatever you do the shell it launches will wait on any child before
>>> quitting (yes, even if you use "&", because of job control).
>>> Unless I'm missing something somewhere, I see 2 solutions:
>>>
>>
>> The shell should return immediately when the & is used, thats what its
>> for, but one thing I discovered is that Geany doesn't look for the
>> process to have finished until the pipe is closed, to make sure we
>> read all the output.
>>
>> So unless the daemon closes its stdout (which is rare) then Geany will
>> still wait for it, since it has inherited the shells stdout which is
>> the pipe to Geany.
>
> Oooooh damn, you're right.  So it's super easy to fix, just redirect
> somewhere, like /dev/null:
>
> porgram >/dev/null 2>&1 &
>
> and that does work indeed.
>
> I somehow thought that the shell waited for the children because of its
> job control abilities, but indeed it doesn't and we simply inherit the
> pipes.

I think job control is only active in interactive shells, which this isn't.

> _______________________________________________
> Users mailing list
> Users at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/users


More information about the Users mailing list