patch-2.1.68 linux/arch/i386/kernel/vm86.c
Next file: linux/arch/i386/lib/delay.c
Previous file: linux/arch/i386/kernel/signal.c
Back to the patch index
Back to the overall index
-  Lines: 16
-  Date:
Sun Nov 30 10:59:02 1997
-  Orig file: 
v2.1.67/linux/arch/i386/kernel/vm86.c
-  Orig date: 
Tue May 13 22:41:01 1997
diff -u --recursive --new-file v2.1.67/linux/arch/i386/kernel/vm86.c linux/arch/i386/kernel/vm86.c
@@ -438,8 +438,13 @@
 	}
 	if (trapno !=1)
 		return 1; /* we let this handle by the calling routine */
-	if (current->flags & PF_PTRACED)
-		current->blocked &= ~(1 << (SIGTRAP-1));
+	if (current->flags & PF_PTRACED) {
+		unsigned long flags;
+		spin_lock_irqsave(¤t->sigmask_lock, flags);
+		sigdelset(¤t->blocked, SIGTRAP);
+		recalc_sigpending(current);
+		spin_unlock_irqrestore(¤t->sigmask_lock, flags);
+	}
 	send_sig(SIGTRAP, current, 1);
 	current->tss.trap_no = trapno;
 	current->tss.error_code = error_code;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov