This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why does exiting bash window kill off Gvim? (Windows version, but X-would be same question)


On Fri, Dec 04, 2009 at 06:03:57PM +0000, Andy Koppe wrote:
>2009/12/4 Andy Koppe:
>> 2009/12/3 Linda Walsh:
>>> In bash I start a copy of gvim.exe (64-bit windows version) in background.
>>> I disown the job in bash so bash no longer manages the job -- it should be
>>> a free and clear process (unaffected by bash exiting).
>>>
>>> Yet when I exit the bash window (bash running in a console window), Gvim
>>> is killed. ??Why should bash or the console exiting kill off any processes
>>> running in the background?
>>
>> Were you closing the console window by pressing the close button?
>>
>> In that case, the problem is that gvim is built as a console program,
>> which means that it will have attached to bash's console. When a
>> console is closed, all processes attached to it are terminated.
>>
>> I think that's a bug, because gvim has no need for a console and
>> therefore should be built with -Wl,subsystem,windows.
>
>Hang on, if I do this:
>
>$ setsid gvim -display :0 &
>
>in a bash console and then close the console, gvim continues to work,
>so either setsid or gvim itself does detach from the console.

That makes sense.  Cygwin sends explicit SIGHUPs to other members of the
console process group when it receives a CTRL_CLOSE_EVENT.  setsid should
fix that.

You shouldn't need the '&' in the above scenario.  Did that actually make
a difference?

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]