emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/msdos/sigaction.c [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/msdos/sigaction.c [lexbind]
Date: Tue, 14 Oct 2003 18:51:28 -0400

Index: emacs/msdos/sigaction.c
diff -c /dev/null emacs/msdos/sigaction.c:1.1.18.1
*** /dev/null   Tue Oct 14 18:51:28 2003
--- emacs/msdos/sigaction.c     Tue Oct 14 18:51:23 2003
***************
*** 0 ****
--- 1,40 ----
+ /* 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) */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]