http://bugs.winehq.org/show_bug.cgi?id=5856
------- Additional Comments From ekkehard.morgenstern@onlinehome.de 2006-05-08 02:29 ------- One thing I noticed about the Ctrl-C signal handler is, that the comment states that it can get run from a system signal handler. On UNIX-like systems (like GNU/Linux, AIX, Solaris), signal handling is implemenented very differently. The lowest common denominator is "don't do anything more than setting a flag". This is especially true on GNU/Linux, where signal handling varies between kernel versions. While Kernel 2.6 has native threads, Kernel 2.4 doesn't, which also changes the way signals are handled. Wine's console module starts a thread in a signal handler, which is not allowed, and leads to a crash (at least on Kernel 2.6). The right way to do it would be to start a thread when the console is opened that periodically checks signal flags set by the console. I.e. the console signal handler would do nothing more than setting a flag, and hence conforming to the signal handler rules of any UNIX-like platform. When I find time, I will try to make some enhancements to the console.