public inbox for cygwin-patches@cygwin.com
 help / color / mirror / Atom feed
* [PATCH] Cygwin: pty: Add FreeConsole to destructor of pty slave.
@ 2020-03-13  3:06 Takashi Yano
  2020-03-13  9:58 ` Corinna Vinschen
  0 siblings, 1 reply; 3+ messages in thread
From: Takashi Yano @ 2020-03-13  3:06 UTC (permalink / raw)
  To: cygwin-patches

- 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Cygwin: pty: Add FreeConsole to destructor of pty slave.
  2020-03-13  3:06 [PATCH] Cygwin: pty: Add FreeConsole to destructor of pty slave Takashi Yano
@ 2020-03-13  9:58 ` Corinna Vinschen
  2020-03-16  2:03   ` Takashi Yano
  0 siblings, 1 reply; 3+ messages in thread
From: Corinna Vinschen @ 2020-03-13  9:58 UTC (permalink / raw)
  To: cygwin-patches

[-- Attachment #1: Type: text/plain, Size: 1271 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Cygwin: pty: Add FreeConsole to destructor of pty slave.
  2020-03-13  9:58 ` Corinna Vinschen
@ 2020-03-16  2:03   ` Takashi Yano
  0 siblings, 0 replies; 3+ messages in thread
From: Takashi Yano @ 2020-03-16  2:03 UTC (permalink / raw)
  To: cygwin-patches

On Fri, 13 Mar 2020 10:58:25 +0100
Corinna Vinschen wrote:
> Pushed.  However, the comment in that snippet (Why comes...) puzzles
> me a bit.  Can you clarify this a bit?

_tc is set in fhandler_pty_master::setup() in very early stage.
So I thought it should have valid value in destructor of pty
slave. However, in practice, _tc may be NULL in some unclear
situation.

I wonder why _tc can be NULL in the destructor of pty slave.
I must have overlooked something...

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-16  2:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-13  3:06 [PATCH] Cygwin: pty: Add FreeConsole to destructor of pty slave Takashi Yano
2020-03-13  9:58 ` Corinna Vinschen
2020-03-16  2:03   ` Takashi Yano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).