You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PackedWaker / PackedList in waker.zig was quickly written and could possibly be improved. It takes a Set which is a packed struct of booleans representative of a bitset.
The PackedWaker is used for signal handling, where Set is the set of possible signals that a caller may suspend themselves on.
Upon the notification of a signal being received by a process, should any of the received signals match any callers waited-upon signals, the suspended caller would be resumed.
Once this feature is done, I will move signal handling on linux/darwin to utilize sigaction to be able to catch all signals directed towards a process unlike signalfd or kqueue EVFILT_SIGNAL to keep signal handling behavior consistent across platforms.
The text was updated successfully, but these errors were encountered:
lithdew
changed the title
Improve performanc for signal handling.
Improve performance for signal handling.
Nov 18, 2020
Signal handling on posix systems is now done via sigaction, and examples have been updated. The hope is to replace PackedWaker / PackedList with a condvar implementation as suggested by @kprotty.
PackedWaker
/PackedList
inwaker.zig
was quickly written and could possibly be improved. It takes aSet
which is a packed struct of booleans representative of a bitset.The
PackedWaker
is used for signal handling, whereSet
is the set of possible signals that a caller may suspend themselves on.Upon the notification of a signal being received by a process, should any of the received signals match any callers waited-upon signals, the suspended caller would be resumed.
Once this feature is done, I will move signal handling on linux/darwin to utilize
sigaction
to be able to catch all signals directed towards a process unlikesignalfd
orkqueue EVFILT_SIGNAL
to keep signal handling behavior consistent across platforms.The text was updated successfully, but these errors were encountered: