patch-2.4.25 linux-2.4.25/kernel/signal.c

Next file: linux-2.4.25/lib/vsprintf.c
Previous file: linux-2.4.25/kernel/ksyms.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.24/kernel/signal.c linux-2.4.25/kernel/signal.c
@@ -879,16 +879,16 @@
 			error = -EINVAL;
 			break;
 		case SIG_BLOCK:
-			sigorsets(&new_set, &old_set, &new_set);
+			sigorsets(&current->blocked, &old_set, &new_set);
 			break;
 		case SIG_UNBLOCK:
-			signandsets(&new_set, &old_set, &new_set);
+			signandsets(&current->blocked, &old_set, &new_set);
 			break;
 		case SIG_SETMASK:
+			current->blocked = new_set;
 			break;
 		}
 
-		current->blocked = new_set;
 		recalc_sigpending(current);
 		spin_unlock_irq(&current->sigmask_lock);
 		if (error)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)