Hi snapshot users, the latest snapshot on https://cygwin.com/snapshots/, 2014-08-22, contains a massive change in exception handling.
It uses a new, preprocessor-based __try/__except implementation along the lines (but not exactly) of how it can be used in Visual C++. This replaces the former, 32 bit centric technique to catch SEGVs in Cygwin code to return EFAULT rather than crashing if, for instance, the application supplied invalid pointers to system calls. The new __try/__except implementation allows to perform this exception handling using Windows SEH. For now this is done only on 64 bit, while 32 bit still uses the former SJLJ technique. On 64 bit this has the major advantage that the execption handling is entirely free of overhead in the non-exception case. If you test this snapshot and you see changes in behaviour, please report here. The most dreaded error message would be something like this: Internal error: TP_NUM_C_BUFS too small This message already existed before, but the changes *might* have raised the chance to encounter it, if it's done wrong. Be brave, I already tried to run X with these changes, and the psproc package I released yesterday has been built with these changes, too. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgp7dO_kBOC5V.pgp
Description: PGP signature