>>>>> Ivan Shmakov <i...@gray.siamics.net> writes:

[…]

 > I should probably try to compare strace(1)'s…

        I've grep'ed the strace for “rt_sig”.  The results for the first
        and second SIGTSTP are MIME'd.

        And there's a difference:

        • first SIGTSTP:

rt_sigaction(SIGTSTP, {0x7f061efbf800, [], SA_RESTORER|SA_RESTART, 
0x7f061e5461e0}, NULL, 8) = 0

        • second SIGTSTP:

rt_sigaction(SIGTSTP, {SIG_IGN}, NULL, 8) = 0

        Do I understand it correctly that the SIGTSTP signal handler is
        not properly reset in the latter case?

-- 
FSF associate member #7257
rt_sigprocmask(SIG_BLOCK, [ALRM WINCH], [TSTP], 8) = 0
rt_sigprocmask(SIG_BLOCK, [TTOU], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [TSTP TTOU], NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {0x7f061efbf800, [], SA_RESTORER|SA_RESTART, 
0x7f061e5461e0}, 8) = 0
rt_sigaction(SIGTSTP, {0x7f061efbf800, [], SA_RESTORER|SA_RESTART, 
0x7f061e5461e0}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, {0x7f061efbf800, [], SA_RESTORER|SA_RESTART, 
0x7f061e5461e0}, 8) = 0
rt_sigaction(SIGWINCH, {0x7f0617332330, [], SA_RESTORER, 0x7f061e5461e0}, 
{0x443ee0, [WINCH], SA_RESTORER|SA_RESTART, 0x7f061e5461e0}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGTSTP, {0x7f061efbf800, [], SA_RESTORER|SA_RESTART, 
0x7f061e5461e0}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [TSTP], NULL, 8) = 0
rt_sigreturn(0x2)                       = 0
rt_sigprocmask(SIG_BLOCK, [ALRM WINCH], [TSTP], 8) = 0
rt_sigprocmask(SIG_BLOCK, [TTOU], NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, NULL, 8) = 0
rt_sigaction(SIGWINCH, {0x443ee0, [WINCH], SA_RESTORER|SA_RESTART, 
0x7f061e5461e0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [TSTP TTOU], NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGWINCH, {0x7f0617332330, [], SA_RESTORER, 0x7f061e5461e0}, 
{0x443ee0, [WINCH], SA_RESTORER|SA_RESTART, 0x7f061e5461e0}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [TSTP], NULL, 8) = 0
rt_sigreturn(0x2)                       = 0

Reply via email to