[ANNOUNCEMENT] Update: mintty 2.1.2

Houder houder@xs4all.nl
Sun Jul 26 22:59:00 GMT 2015

> Hi, thank you very much for this analysis which should enable me to do
> further investigation; first, I'd like to know whether the two alternative
> codelets for the -D option change anything.
> Anyway, maybe I should simply disable transparency, either at all (but
> people would complain, I'm sure) or at least if mintty is invoked from a
> console.

Hi Thomas,

Let me rephrase/summarize my findings:

Executing 'mintty -D' (i.e. v212)

    from a shortcut to bash (i.e. Cygwin console),

will fork itself, where the child will turn itself into a session leader, as

i.e. the following code will be executed:

#if 1 // Thomas
 if (daemonize && !isatty(0)) { // daemonize == true, !isatty(0) == true
   if (fork() > 0) exit(0);
   setsid(); // executed by child

1. if 'Windows Basic' has been selected (Personalization), the child will crash.

2. if 'Windows 7' has been selected (Personalization), the child will NOT crash,
   ... and, eventually, fork itself, where the "grandchild" will replace itself
   by bash in the end.

@@ ps ax
      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
      800    2752     800       3684  pty0        1000 00:35:30 /usr/bin/ps
     2752    3936    2752       1708  pty0        1000 00:35:25 /usr/bin/bash        <====
I    3252       1    3252       3252  cons0       1000 23:58:38 /usr/bin/bash
     3936       1    3936       3936  ?           1000 00:35:25 /usr/bin/mintty-v212 <====

case 1. reveals a bug in update_transparency() (or in the call stack below that)


Re. 'Anyway, maybe I should simply disable transparency ... if mintty is invoked
from a console, as a workaround.'

Why? As I see it, the code that manages the "advanced features" (eye candy) of
mintty has a bug, that must be solved.

However, in future, it might be wise to restructure mintty in a "classic/basic"
part and an "enhanced part". The advantage would be, that one could request for
the "basic part" (command line option), in case of a bug in the "enhanced part".


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