added _sigvec.s and changed call of sigvec() in signal.c
This commit is contained in:
parent
7fbfa4360c
commit
14133b5e2f
|
@ -28,6 +28,7 @@ _execve.s
|
|||
_getrusage.s
|
||||
_lseek.s
|
||||
_sigblock.s
|
||||
_sigvec.s
|
||||
accept.s
|
||||
access.s
|
||||
acct.s
|
||||
|
|
3
mach/vax4/libbsd4_2/_sigvec.s
Normal file
3
mach/vax4/libbsd4_2/_sigvec.s
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include "syscall.h"
|
||||
DEFINE(__sigvec)
|
||||
SYSTEM(SYS_sigvec)
|
|
@ -13,13 +13,13 @@ signal(sig,handler))()
|
|||
v.sv_handler = handler;
|
||||
v.sv_mask = masks[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) {
|
||||
v.sv_mask = ov.sv_mask;
|
||||
masks[sig] = ov.sv_mask;
|
||||
v.sv_flags = 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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue