Deleted Added
full compact
39c39
< "$FreeBSD: head/lib/libc/compat-43/sigcompat.c 51870 1999-10-02 19:24:24Z marcel $";
---
> "$FreeBSD: head/lib/libc/compat-43/sigcompat.c 52040 1999-10-09 00:25:29Z jdp $";
49a50,51
> struct sigaction sa, osa;
> struct sigaction *sap, *osap;
52,57c54,68
< if (sv)
< sv->sv_flags ^= SV_INTERRUPT; /* !SA_INTERRUPT */
< ret = osigaction(signo, (struct osigaction *)sv,
< (struct osigaction *)osv);
< if (ret == 0 && osv)
< osv->sv_flags ^= SV_INTERRUPT; /* !SA_INTERRUPT */
---
> if (sv != NULL) {
> sa.sa_handler = sv->sv_handler;
> sa.sa_flags = sv->sv_flags ^ SV_INTERRUPT;
> sigemptyset(&sa.sa_mask);
> sa.sa_mask.__bits[0] = sv->sv_mask;
> sap = &sa;
> } else
> sap = NULL;
> osap = osv != NULL ? &osa : NULL;
> ret = sigaction(signo, sap, osap);
> if (ret == 0 && osv != NULL) {
> osv->sv_handler = osa.sa_handler;
> osv->sv_flags = osa.sa_flags ^ SV_INTERRUPT;
> osv->sv_mask = osa.sa_mask.__bits[0];
> }