raise() produces random behaviour in Cygwin 3.5.5
Takashi Yano
takashi.yano@nifty.ne.jp
Wed Dec 25 14:01:57 GMT 2024
On Wed, 25 Dec 2024 07:21:44 +0100
Bruno Haible wrote:
> An invocation of raise(SIGABRT), that is, of a synchronous signal, produces
> random behaviour in Cygwin 3.5.5: Sometimes it succeeds, sometimes it fails
> with error ENOSYS. In previous releases of Cygwin and in all other operating
> systems, it always succeeds.
>
> How to reproduce:
> Find test-sigaction.c attached.
> Compile it and run it 10 times:
> $ x86_64-pc-cygwin-gcc -O2 -Wall test-sigaction.c \
> && ./a && ./a && ./a && ./a && ./a && ./a && ./a && ./a && ./a && ./a
> ret = -1, errno = 88
> ret = -1, errno = 88
> ret = 0, errno = 0
> ret = -1, errno = 88
> ret = -1, errno = 88
> ret = -1, errno = 88
> ret = -1, errno = 88
> ret = -1, errno = 88
> ret = -1, errno = 88
> ret = 0, errno = 0
>
> This unit test is part of Gnulib. Really, it is a pity that none of the
> Cygwin maintainers is running the Gnulib tests before making a new Cygwin
> release.
Thanks for the report. This issue will be fixed by the patch:
https://cygwin.com/pipermail/cygwin-patches/2024q4/013145.html
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin
mailing list