patch-1.3.11 linux/arch/i386/kernel/ptrace.c

Next file: linux/arch/mips/kernel/ptrace.c
Previous file: linux/arch/alpha/lib/strlen.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.10/linux/arch/i386/kernel/ptrace.c linux/arch/i386/kernel/ptrace.c
@@ -466,7 +466,7 @@
 			else
 				child->flags &= ~PF_TRACESYS;
 			child->exit_code = data;
-			child->state = TASK_RUNNING;
+			wake_up_process(child);
 	/* make sure the single step bit is not set. */
 			tmp = get_stack_long(child, sizeof(long)*EFL-MAGICNUMBER) & ~TRAP_FLAG;
 			put_stack_long(child, sizeof(long)*EFL-MAGICNUMBER,tmp);
@@ -481,7 +481,7 @@
 		case PTRACE_KILL: {
 			long tmp;
 
-			child->state = TASK_RUNNING;
+			wake_up_process(child);
 			child->exit_code = SIGKILL;
 	/* make sure the single step bit is not set. */
 			tmp = get_stack_long(child, sizeof(long)*EFL-MAGICNUMBER) & ~TRAP_FLAG;
@@ -497,7 +497,7 @@
 			child->flags &= ~PF_TRACESYS;
 			tmp = get_stack_long(child, sizeof(long)*EFL-MAGICNUMBER) | TRAP_FLAG;
 			put_stack_long(child, sizeof(long)*EFL-MAGICNUMBER,tmp);
-			child->state = TASK_RUNNING;
+			wake_up_process(child);
 			child->exit_code = data;
 	/* give it a chance to run. */
 			return 0;
@@ -509,7 +509,7 @@
 			if ((unsigned long) data > NSIG)
 				return -EIO;
 			child->flags &= ~(PF_PTRACED|PF_TRACESYS);
-			child->state = TASK_RUNNING;
+			wake_up_process(child);
 			child->exit_code = data;
 			REMOVE_LINKS(child);
 			child->p_pptr = child->p_opptr;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this