I am a libtool developer and I have grown *real* tired of the popups displayed
when the libtool testsuite is running. Libtool tries various things that is
supposed to not work, such as running programs with missing dlls. That
of course triggers a tiresome popup which you have to dismiss. Every time.
So, I thought that it would be neat if you could set the error mode to something
that is not the default, and have that error mode propagate to all child
processes. This patch is what I came up with. I know that I'm touching parts
of the code that are considered scary, and I'm a bit of a newbie msys/cygwin
hacker so there might easily be better ways to do this. But it works for me,
and I don't think it's going to affect the normal case.
The only thing I can think of is a system with a defalt error mode that
includes the SEM_FAILCRITICALERRORS flag, but the only thing that will
happen on those systems is that whatever error mode happes to be
active when entering msys is going to be inherited to all children. But it
would be a rare case indeed if that would not be the default error mode.
That, and msys is going to be running with that error mode and not with
only SEM_FAILCRITICALERRORS (since msys drops all (non-sticky) flags
but that one without this patch).
In order to actually trigger this patch, I'm using the error-mode.c
program, which I intend to attach next.