[PATCH 4/5] Cygwin: pty: Prevent pty from changing code page of parent console.

Takashi Yano takashi.yano@nifty.ne.jp
Mon Jan 18 11:23:49 GMT 2021


Hi Corinna,

On Mon, 18 Jan 2021 11:23:40 +0100
Corinna Vinschen wrote:
> I'm going to push patches 1 - 3.  In terms of patch 4 I have a few
> questions:
> 
> On Jan 15 17:32, Takashi Yano via Cygwin-patches wrote:
> > @@ -2185,7 +2185,7 @@ private:
> >    bool send_winch_maybe ();
> >    void setup ();
> >    bool set_unit ();
> > -  static bool need_invisible ();
> > +  static bool need_invisible (bool force=false);
> 
> Please add spaces, i. e., force = false
> 
> > +static DWORD
> > +get_console_process_id (DWORD pid, bool match)
> > +{
> > +  DWORD tmp;
> > +  DWORD num, num_req;
> > +  num = 1;
> > +  num_req = GetConsoleProcessList (&tmp, num);
> > +  DWORD *list;
> 
> So, assuming num_req is 1 after the call, shouldn't that skip the
> rest of the code?
> 
> > +  while (true)
> > +    {
> > +      list = (DWORD *)
> > +	HeapAlloc (GetProcessHeap (), 0, num_req * sizeof (DWORD));
> > +      num = num_req;
> > +      num_req = GetConsoleProcessList (list, num);
> > +      if (num_req > num)
> > +	HeapFree (GetProcessHeap (), 0, list);
> > +      else
> > +	break;
> > +    }
> > +  num = num_req;
> > +
> > +  tmp = 0;
> > +  for (DWORD i=0; i<num; i++)
> > +    if ((match && list[i] == pid) || (!match && list[i] != pid))
> > +      /* Last one is the oldest. */
> > +      /* https://github.com/microsoft/terminal/issues/95 */
> 
> Given that, wouldn't it make more sense to count backwards, from
> num - 1 to 0, from a performance perspective?

Thanks for the advice. I will submit the revised patch.

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


More information about the Cygwin-patches mailing list