Re: [PATCH 15/17] msvc: do not pretend to support all signals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Eric,

On Wed, 19 Jun 2019, Eric Sunshine wrote:

> On Tue, Jun 18, 2019 at 8:24 AM Jeff Hostetler via GitGitGadget
> <gitgitgadget@xxxxxxxxx> wrote:
> > This special-cases various signals that are not supported on Windows,
> > such as SIGPIPE. These cause the UCRT to throw asserts (at least in
> > debug mode).
> >
> > Signed-off-by: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
> > ---
> > diff --git a/compat/mingw.c b/compat/mingw.c
> > @@ -2119,8 +2119,34 @@ int mingw_raise(int sig)
> > +#if defined(_MSC_VER)
> > +               /*
> > +                * <signal.h> in the CRT defines 8 signals as being
> > +                * supported on the platform.  Anything else causes
> > +                * an "Invalid signal or error" (which in DEBUG builds
> > +                * causes the Abort/Retry/Ignore dialog).  We by-pass
> > +                * the CRT for things we already know will fail.
> > +                */
> > +               /*case SIGINT:*/
> > +       case SIGILL:
>
> Why is SIGINT commented out?

Whoops. The `case` before that already handles `SIGINT`, I think that's
why... I removed it.

> And, the comment block seems over-indented.

Not really, as the `case` statements are indented one level less than the
code (including the comments).

But I agree that it looks funny, and moved it within the `case` arm.

Thanks!
Dscho

>
> > +       case SIGFPE:
> > +       case SIGSEGV:
> > +       case SIGTERM:
> > +       case SIGBREAK:
> > +       case SIGABRT:
> > +       case SIGABRT_COMPAT:
> > +               return raise(sig);
> > +       default:
> > +               errno = EINVAL;
> > +               return -1;
>




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux