CTRL-ALT-DEL not working as expected. Seeking for advices

Harald Becker ralda at gmx.de
Fri Mar 29 15:56:32 UTC 2013


Hi Denys !

>> Hence my suggestion to add this sigprocmask to unblock all signals
>> *AND* restore all signal actions to there default as part of the
>> cttyhack applet.
>
>I would like to hear people confirming that kernel indeed blocks
>ant signals to pid 1. Which kernel version does that?

May be you narrowed your focus a bit to much to the kernel. Sorry for
my bad English and the misunderstandings it may produce. I'm no native
English speaker.

To clarify it a bit:

- On Linux system startup from bare kernel to nothing else than a
  Busybox binary (startup script), I noticed at several times / system
  constellations issues due to signal actions not being processed.

- Digging a bit into this, I found signals being either blocked
  (sigprocmask) *OR* ignored (action = SIG_IGN).

- As at least some 2.4er Kernels mangled with the signals on startup, I
  did not look for the real reason of such signal blocking. I just
  added a simple wrapper to release the blocking that may have
  occurred ... and everything was fine for me.

- As someone was asking for a problem which may be the result of such
  blocked signals I wanted to give a hint, why the signal may not be
  processed, even if you do a kill -SIGINT 1.

- Restoring all signals action to there default and unblocking, before
  doing an exec to another program is good programming practice. To
  avoid searching for all the cases where this need to be done, I
  focused on the question, when is it required. Except the case of init
  it matters only when an interactive shell is started, as daemons
  usually setup there own signal handling without respect of signal
  setting on entrance. So the central place to trow that signal
  unblocking/default action restoring is the place used to startup the
  shell, usually the cttyhack applet.

- Restoring signal actions to there default and unblocking doesn't
  harm if it's done without being required. It just waste some
  time/code space, but avoids lengthy debug sessions due to blocked
  signal handling.

--
Harald


More information about the busybox mailing list