view msdos/sigaction.c @ 73003:ec72ab6f5541

* allout.el (allout-unprotected): Let inhibit-read-only only when buffer-read-only isn't set. (allout-annotate-hidden): Enable topic annotation during copies even when the buffer is read-only, eg for topic copies. Ensure that the loop advances, even when the span extends beyond the deletion region. (allout-toggle-subtree-encryption): Use allout-structure-added-hook rather than allout-exposure-changed-hook, as a stronger assertion. (allout-keybindings-list): Add bindings for allout-copy-line-as-kill and allout-copy-topic-as-kill. (allout-copy-line-as-kill, allout-copy-topic-as-kill): copy wrappers for allout-kill-line and allout-kill-topic. (allout-listify-exposed): Position correctly to accumulate lines.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 19 Sep 2006 21:55:44 +0000
parents 695cf19ef79e
children 60ed74508594 375f2633d815
line wrap: on
line source

/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
#include <signal.h>
#include <errno.h>

int
sigaction(int _sig, const struct sigaction *_act, struct sigaction *_oact)
{
  int retval = 0;

  if (_oact)
  {
    void (*installed_sig)(int) = signal (_sig, SIG_IGN);

    /* FIXME */
    if (installed_sig == SIG_ERR)
    {
      retval = -1;
      errno = EINVAL;
    }
    else
      signal (_sig, installed_sig);
    _oact->sa_handler = installed_sig;
    retval = sigemptyset (&_oact->sa_mask);
    _oact->sa_flags = 0;
  }
  if (_act)
  {
    if (signal (_sig, _act->sa_handler) == SIG_ERR)
    {
      retval = -1;
      errno = EINVAL;
    }
  }
  return 0;
}



/* arch-tag: 39526405-3d3a-44fe-af28-82a515e0c8e8
   (do not change this comment) */