(textually depends on signals-tracehook_notify_jctl-change.patch) Introduce the empty inline tracehook_finish_jctl() helper called by do_signal_stop() after wakeup.
Currently we lack the ability to report this state change. Also fix the comment, it should be placed before schedule(). Signed-off-by: Oleg Nesterov <o...@redhat.com> --- include/linux/tracehook.h | 9 +++++++++ kernel/signal.c | 2 ++ 2 files changed, 11 insertions(+) --- __UTRACE/include/linux/tracehook.h~2_FINISH_JCTL 2009-07-29 03:10:10.000000000 +0200 +++ __UTRACE/include/linux/tracehook.h 2009-07-29 03:51:42.000000000 +0200 @@ -521,6 +521,15 @@ static inline int tracehook_notify_jctl( return notify ?: (current->ptrace & PT_PTRACED) ? why : 0; } +/** + * tracehook_finish_jctl - report about return from job control stop + * + * This is called by do_signal_stop() after wakeup. + */ +static inline void tracehook_finish_jctl(void) +{ +} + #define DEATH_REAP -1 #define DEATH_DELAYED_GROUP_LEADER -2 --- __UTRACE/kernel/signal.c~2_FINISH_JCTL 2009-07-29 03:17:49.000000000 +0200 +++ __UTRACE/kernel/signal.c 2009-07-29 03:57:07.000000000 +0200 @@ -1735,12 +1735,12 @@ static int do_signal_stop(int signr) read_unlock(&tasklist_lock); } + /* Now we don't run again until woken by SIGCONT or SIGKILL */ do { schedule(); } while (try_to_freeze()); - /* - * Now we don't run again until continued. - */ + + tracehook_finish_jctl(); current->exit_code = 0; return 1;