Re: [PATCH] [RFC] fix missed SIGCONT cases

From: Jiri Kosina
Date: Thu Feb 28 2008 - 06:42:43 EST


On Thu, 28 Feb 2008, Roland McGrath wrote:

> [PATCH] clean up and fix SIGCONT
> This reorganizes some of the signals code, replacing handle_stop_signal()
> with prepare_signal() and finish_signal(), called as a pair before and
> after generating any signal. The CLD_CONTINUED notification to parent is
> moved into finish_signal(), taking place after the signal is made pending
> and siglock dropped. This fixes a race where a process waking from SIGCONT
> could resume application code without running its SIGCONT handler first.

Hi Roland,

I haven't tested what is the behavior with my patch, or without any
patches at all (will do), but with your patch applied, when I run the test
program under strace, it resumes immediately ... doesn't look particularly
OK to me:

$ strace -o /dev/null ./a.out | head -10
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)
finished (without SIGCONT)

--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/