Skip to content

Commit

Permalink
Merge pull request #5 from katzer/master
Browse files Browse the repository at this point in the history
Basic support for Win32
  • Loading branch information
ksss committed Jun 26, 2018
2 parents 6dc40f2 + 7b75ff6 commit c3ea100
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/signal.c
Expand Up @@ -22,6 +22,10 @@
# define NSIG (_SIGMAX + 1) /* For QNX */
#endif

#ifndef SIGKILL
# define SIGKILL 9
#endif

#define sighandler_t void*

#define RETSIGTYPE void
Expand Down Expand Up @@ -368,6 +372,17 @@ trap_handler(mrb_state *mrb, mrb_value *cmd, int sig)
return func;
}

#if defined _WIN32
static inline sighandler_t
mrb_signal(mrb_state *mrb, int signum, sighandler_t handler)
{
if (signum == SIGKILL) {
errno = EINVAL;
return SIG_ERR;
}
return signal(signum, handler);
}
#else
static sighandler_t
mrb_signal(mrb_state *mrb, int signum, sighandler_t handler)
{
Expand Down Expand Up @@ -395,6 +410,7 @@ mrb_signal(mrb_state *mrb, int signum, sighandler_t handler)
}
return old.sa_handler;
}
#endif

static mrb_value
trap(mrb_state *mrb, mrb_value mod, int sig, sighandler_t func, mrb_value command)
Expand Down

0 comments on commit c3ea100

Please sign in to comment.