Linus Torvalds writes: (Summary)
How about moving the "copy_signal()" and "copy_sighandler()" cases up
to fairly early in the "copy_process()" function (and clean up late,
obviously).
obviously).
Then, instead of that "struct multiprocess_signals" thing, just add a "struct hlist_node node" to "struct signal" itself, and add it to the multiprocess hlist there.
multiprocess hlist there.
And then you can just remove it in bad_fork_cleanup_signal. Hmm?
Hmm?
Linus
Linus
Linus
obviously).
Then, instead of that "struct multiprocess_signals" thing, just add a "struct hlist_node node" to "struct signal" itself, and add it to the multiprocess hlist there.
multiprocess hlist there.
And then you can just remove it in bad_fork_cleanup_signal. Hmm?
Hmm?
Linus
Linus
Linus