[PATCH] Cygwin: pty: Add FreeConsole to destructor of pty slave.

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Mar 13 09:58:25 GMT 2020


On Mar 13 12:06, Takashi Yano via Cygwin-patches wrote:
> - When pseudo console is closed, all the processes attched to the
>   pseudo console are terminated. This causes the problem reported
>   in https://sourceware.org/pipermail/cygwin/2020-March/244046.html.
>   This patch fixes the issue.
> ---
>  winsup/cygwin/fhandler_tty.cc | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
> index b42e0aeb6..b2e725d5d 100644
> --- a/winsup/cygwin/fhandler_tty.cc
> +++ b/winsup/cygwin/fhandler_tty.cc
> @@ -706,8 +706,15 @@ fhandler_pty_slave::fhandler_pty_slave (int unit)
>  fhandler_pty_slave::~fhandler_pty_slave ()
>  {
>    if (!get_ttyp ())
> -    /* Why comes here? Who clears _tc? */
> -    return;
> +    {
> +      /* Why comes here? Who clears _tc? */
> +      if (freeconsole_on_close)
> +	{
> +	  FreeConsole ();
> +	  pcon_attached_to = -1;
> +	}
> +      return;
> +    }
>    if (get_pseudo_console ())
>      {
>        int used = 0;
> -- 
> 2.21.0

Pushed.  However, the comment in that snippet (Why comes...) puzzles
me a bit.  Can you clarify this a bit?


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20200313/ba4ac574/attachment.sig>


More information about the Cygwin-patches mailing list