Eric Blake wrote:
> Checking in this obvious patch:
>
> 2006-10-17 Eric Blake <[EMAIL PROTECTED]>
>
> * lib/sigprocmask.c (sigprocmask): Fix typo.
>
Thanks for turning untested into tested code! (I usually only cross-compile
to mingw, without testing.)
Bruno
Bruno Haible clisp.org> writes:
>
> This module adds a sigprocmask() emulation based on signal().
>
> Comments are welcome, as this is new and so far untested code.
>
> +
> + for (sig = 0; sig < NSIG; sig++)
> + if (received[NSIG])
> + {
> + #if HAVE_RAISE
Bruno Haible clisp.org> writes:
> --- 25,40
> fi
> ])
>
> ! # Prerequisites of lib/sigprocmask.h and lib/sigprocmask.c.
> AC_DEFUN([gl_PREREQ_SIGPROCMASK], [
> + AC_CHECK_TYPES([sigset_t],
> + [gl_cv_type_sigset_t=yes], [gl_cv_type_sigset_t=no],
> + [#include
> + /* Mingw
Eric Blake wrote:
> The mingw system header contains this snippet:
>
> #ifndef _SIGSET_T_
> #define _SIGSET_T_
> typedef int _sigset_t;
>
> #ifndef _NO_OLDNAMES
> typedef _sigset_t sigset_t;
> #endif
> #endif/* Not _SIGSET_T_ */
>
> It looks like you need to add a conf
Eric Blake wrote:
> I'm getting failures on mingw:
>
> In file included from ../../lib/fatal-signal.c:30:
> ../../lib/sigprocmask.h:34: error: conflicting types for 'sigset_t'
> /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-
> mingw32/include/sys/types.h:95: error: previous declaration of
Bruno Haible clisp.org> writes:
>
> > I'm not a Windows expert, so I'm not sure how well the race conditions
> > will work out, but I assume that is a known issue.
>
> There shouldn't be more race conditions on Woe32 than on Unix: On both kinds
> of systems, the signal handlers are run in the m
Paul Eggert wrote:
> > + /* Set of currently blocked and pending signals. */
> > + static volatile char pending_array[NSIG] /* = { 0 } */;
>
> Surely this should be sig_atomic_t rather than char?
>
> > + int
> > + sigfillset (sigset_t *set)
> > + {
> > + *set = -2U << (NSIG - 1);
>
> This doe
Bruno Haible <[EMAIL PROTECTED]> writes:
> + /* Set of currently blocked and pending signals. */
> + static volatile char pending_array[NSIG] /* = { 0 } */;
Surely this should be sig_atomic_t rather than char?
> + int
> + sigfillset (sigset_t *set)
> + {
> + *set = -2U << (NSIG - 1);
This do
Hi,
The 'fatal-signal' module attempts to guarantee a certain cleanup action.
In order to do so without race conditions, it needs to block signals for a
certain time. But on Woe32 (msvc, mingw), there is no sigprocmask(),
no sighold(), no sigblock().
Likewise for the color output facility in GNU