added _sigvec.s and changed call of sigvec() in signal.c

This commit is contained in:
eck 1990-09-28 17:13:40 +00:00
parent 7fbfa4360c
commit 14133b5e2f
3 changed files with 6 additions and 2 deletions

View file

@ -28,6 +28,7 @@ _execve.s
_getrusage.s _getrusage.s
_lseek.s _lseek.s
_sigblock.s _sigblock.s
_sigvec.s
accept.s accept.s
access.s access.s
acct.s acct.s

View file

@ -0,0 +1,3 @@
#include "syscall.h"
DEFINE(__sigvec)
SYSTEM(SYS_sigvec)

View file

@ -13,13 +13,13 @@ signal(sig,handler))()
v.sv_handler = handler; v.sv_handler = handler;
v.sv_mask = masks[sig]; v.sv_mask = masks[sig];
v.sv_flags = flags[sig]; v.sv_flags = flags[sig];
if (sigvec(sig,&v, &ov) < 0) return (int (*)()) -1; if (_sigvec(sig,&v, &ov) < 0) return (int (*)()) -1;
if (v.sv_mask != ov.sv_mask || v.sv_flags != ov.sv_flags) { if (v.sv_mask != ov.sv_mask || v.sv_flags != ov.sv_flags) {
v.sv_mask = ov.sv_mask; v.sv_mask = ov.sv_mask;
masks[sig] = ov.sv_mask; masks[sig] = ov.sv_mask;
v.sv_flags = ov.sv_flags; v.sv_flags = ov.sv_flags;
flags[sig] = ov.sv_flags; flags[sig] = ov.sv_flags;
if (sigvec(sig,&v,(char *) 0) < 0) return (int (*)()) -1; if (_sigvec(sig,&v,(char *) 0) < 0) return (int (*)()) -1;
} }
return ov.sv_handler; return ov.sv_handler;
} }