Thoughts on the Contributing page

Phyx lonetiger at
Wed Jan 30 20:05:07 UTC 2019

> Indeed. I hope it's not difficult to fix this, but I'm not sure where to
> start. Any suggestions are very welcome.
It is unfortunately, because it's not a bug. Odds are both of you are using
MinTTY which people blindly recommend to use.
The problem is MinTTY is not designed to run native Windows applications,
it is designed to run ported POSIX applications. e.g. things linked against
msys2/cygwin runtime. Because of this it implements a very intrusive hack
in order to be able to handle signals the way they would be under a posix
which simply isn't compatible with Windows signals see

Because your build is triggered by a batch file, when you press ctrl+c
mintty will terminate the parent process indiscriminately if it's a script,
e.g. the batch process is killed but
none of the children are.  This is why ghci has as a workaround.
e.g. why pressing ctrl+c terminate ghci instead of the computation as we

this is why you should not use MinTTY with a native Windows application.
MinTTY also introduces a number of character encoding problems for native
Windows applications, see
In short, the issues you're seeing are by design.

Now you have two options:

1) Don't use mintty, instead use something like ConEmu with bash.exe from msys2 as the terminal
host.This will work for Native application but have
issues with interactive posix applications like msys2 gdb (mingw64 gdb
should in theory work fine though, but it's slightly more limited) and
i.e.. tmux won't work. (the problems are thus flipped).

2) Use WinPTY to wrap native
application calls (you can just install it via pacman), which works and you
can keep using MinTTY, but this does have a slight performance overhead
as the reason it works is that it spawns a hidden buffer and scrapes output
from it and send events to it to check the native behavior for Windows

TL;DR; It's not a simple issue, the application can only deal with one
signal processing method at a time.


> Cheers,
> Andrey
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list