• A
    new helper: get_signal() · ca86b5dc
    Al Viro 提交于
    On success get_signal_to_deliver() fills k_sigaction and siginfo.
    _All_ users pass it addresses of the local variables sitting in
    the same function.  Then they proceed to pass those addresses
    pretty much in tandem to a bunch of helper functions; again, all
    callers of those helpers are passing them such a pair, and one that
    had been through get_signal_to_deliver() at that.
    
    The obvious cleanup: introduce a new type that would contain a
    <k_sigaction,siginfo> pair (struct ksignal) and begin switching to
    using it.  Turns out that it's convenient to store the signal number
    in the same object.
    
    New helper, taking that sucker is a wrapper for get_signal_to_deliver();
    takes struct ksignal * and returns bool.  On success fills ksignal
    with the information for signal handler to be invoked.
    
    For now it's a macro (to avoid header ordering headache), but eventually
    it'll be a function in kernel/signal.c, with get_signal_to_deliver()
    folded into it.
    Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
    ca86b5dc
signal.h 12.0 KB