Page MenuHomeFreeBSD

Unignore signals when starting CloudABI processes.
ClosedPublic

Authored by ed on Aug 12 2015, 10:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 29, 7:15 PM
Unknown Object (File)
Mon, Apr 29, 6:34 PM
Unknown Object (File)
Sun, Apr 28, 5:47 PM
Unknown Object (File)
Dec 21 2023, 9:54 AM
Unknown Object (File)
Dec 19 2023, 11:25 PM
Unknown Object (File)
Nov 13 2023, 7:41 PM
Unknown Object (File)
Nov 12 2023, 8:42 PM
Unknown Object (File)
Nov 9 2023, 6:21 PM
Subscribers

Details

Summary

As CloudABI processes cannot adjust their signal handlers, we need to
make sure that we start up CloudABI processes with consistent signal
masks. Though the POSIx standard signal behavior is all right, we do
need to make sure that we ignore SIGPIPE, as it would otherwise be
hard to interact with pipes and sockets.

Extend execsigs() to iterate over ps_sigignore and call sigdflt() for
each of the ignored signals.

Test Plan

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ed retitled this revision from to Unignore signals when starting CloudABI processes..
ed updated this object.
ed edited the test plan for this revision. (Show Details)
ed added a reviewer: kib.
sys/kern/kern_sig.c
982 ↗(On Diff #7893)

I doubt that any other ABI, besides your ABI, would ever need such hack. IMHO, you should keep the execsigs() interface as is, and test the SV_ABI_CLOUDABI flag instead of the parameter.

Not to mention that the patch become much more compact.

Simply test against SV_ABI_CLOUDABI.

sys/kern/kern_sig.c
982 ↗(On Diff #7893)

That makes sense. Does this version look all right?

kib edited edge metadata.
This revision is now accepted and ready to land.Aug 12 2015, 11:29 AM
This revision was automatically updated to reflect the committed changes.