[BACK]Return to mysig.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / plugin

File: [local] / OpenXM / src / kan96xx / plugin / Attic / mysig.c (download)

Revision 1.1, Wed Mar 30 08:25:43 2016 UTC (8 years, 3 months ago) by takayama
Branch: MAIN

A preparation to replace the BSD signal to posix signals.

/* $OpenXM: OpenXM/src/kan96xx/plugin/mysig.c,v 1.1 2016/03/30 08:25:43 takayama Exp $ */
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <setjmp.h>
#include <string.h>
#include "mysig.h"

int unblock_sigchild_sigint(void) {
  struct sigaction act;
  sigset_t set;
  sigset_t oldset;
  sigemptyset(&set);
  sigaddset(&set,SIGINT);
  sigaddset(&set,SIGCHLD);
  sigprocmask(SIG_UNBLOCK,&set,&oldset);
  return(0);
}

int set_sigchild(void (*handler)(void)) {
  struct sigaction act;
  struct sigaction oldact;
  act.sa_handler=handler;
  act.sa_flags=0;
  act.sa_flags |= SA_RESTART;
  sigemptyset(&act.sa_mask);
  return(sigaction(SIGCHLD,&act,&oldact));
}