Looking at the <signo,description> keymap generated by Reset() in LinuxSignals.cpp, we can see that some signo maps to
more than one signals.
So for example, if one tries signal handle command on SIGCLD
(lldb) process handle SIGCLD -s 0 -p 1 -n 0
it says
error: Invalid signal name 'SIGCLD'
As a solution for this,I have tried:
- std::next() for iterating keymap, but It looks like, entries with duplicate signo are not getting added in map, so we get one signo only ones.
- Just like "short_name" field, add another field "alias", and add all signals with same signo in same entry, but looks like for some of such signals default (suppress, stop, notify) values are different, for example signo 16 in LinuxSignals.
- So I suggest to move signo in description part of keymap, and adding serial_no for each signal as unique key.
Let me know if this approach is correct, and I will provide patches for other functions related to signals.