Re: 2.6.17-mm3: swsusp fails when process is debugged by ptrace

From: Jeremy Fitzhardinge
Date: Wed Jun 28 2006 - 17:50:57 EST


Pavel Machek wrote:
Does it also happen when you do strace? ...I remember trying to solve
that, but 2.6.17-mm3 is very recent...?

I could suspend while running "strace sleep 100" without any problem.

I think the issue is when the process is blocked in T state,
freeze_process() tries to kick the process with signal_wake_up(p, /*
resume=0 */ 0), but with resume=0 it will only wake processes in
TASK_INTERRUPTIBLE state. With resume=1, it will also kick STOPPED and
TRACED processes. I also tried suspending while I had a process in T
state caused by kill -STOP, and that worked, so some part of the puzzle
is still missing.

I noticed that when I ran sleep 100 under strace over the suspend/resume
cycle, its nanosleep() syscall was interrupted and not restarted.

J
-
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/