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
|
_getrusage.s
|
||||||
_lseek.s
|
_lseek.s
|
||||||
_sigblock.s
|
_sigblock.s
|
||||||
|
_sigvec.s
|
||||||
accept.s
|
accept.s
|
||||||
access.s
|
access.s
|
||||||
acct.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_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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue