File:  [DVB] / dietlibc / lib / signal.c
Revision 1.6: download - view: text, annotated - select for diffs
Wed Sep 21 07:33:08 2005 UTC (18 years, 8 months ago) by leitner
Branches: MAIN
CVS tags: HEAD
  update syscalls
  lots of fixes from Markus FX Oberhumer:
    * better signal handling error detection
    * setjmp.S on i386
    * getenv on i386
    * sys/stat.h -malign-double fix
    * update fcntl.h for MIPS to 2.6.13 version
    * jmp_buf is 40*8 instead of 58*8 on ppc64.
    * This patch fixes the section of the TOC entries on ppc64
    * libstdc++ updates for gcc 4
    * remove cstddef and cwchar (no longer needed)
    * int -> ssize_t for read and write
    * sigjmp.c: __mask_was_saved was not set in all cases!
    * another round of ILP64 cleanups

#include <signal.h>

sighandler_t signal(int signum, sighandler_t action) {
  struct sigaction sa,oa;
  sa.sa_handler=action;
  sigemptyset(&sa.sa_mask);
  if (sigaddset(&sa.sa_mask,signum) != 0)
    return SIG_ERR;
  sa.sa_flags = SA_NODEFER; /* FIXME ??? */
  if (sigaction(signum,&sa,&oa) != 0)
    return SIG_ERR;
  return oa.sa_handler;
}

LinuxTV legacy CVS <linuxtv.org/cvs>