Use of spawnvp function makes console window appear.

Kaz Kylheku kaz@kylheku.com
Fri Jul 1 20:53:00 GMT 2016


On July 1, 2016 Corinna Vinschen wrote:
> On Jun 30 20:38, Kaz Kylheku wrote:
> > I tracked this down to the fhandler_console::need_invisible() call in
> > child_info_spawn::worker().
> >
> > Whatever that is supposed to do is not working properly because
> > the invisible window is perfectly visible.
> 
> Try starting the process detached:
> 
> spawnvp(_P_DETACH, argv[0], argv);

Without a doubt that will work, since the call to 
fhandler_console::need_invisible
is conditional on the mode not being _P_DETACH.

The problem is that sometimes you don't want this detach behavior.

Secondly, this child_info_spawn::worker is used underneath various 
functions: exec*, spawn*, popen, system. Not all these can pass through 
_P_DETACH at all.

(I'm only using spawnvp for the sake of producing a minimal test case).

Cheers ...

--
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



More information about the Cygwin mailing list