patch-2.1.79 linux/arch/sparc64/mm/asyncd.c

Next file: linux/arch/sparc64/mm/init.c
Previous file: linux/arch/sparc64/math-emu/udivmodti4.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.78/linux/arch/sparc64/mm/asyncd.c linux/arch/sparc64/mm/asyncd.c
@@ -1,4 +1,4 @@
-/*  $Id: asyncd.c,v 1.2 1997/05/15 21:14:32 davem Exp $
+/*  $Id: asyncd.c,v 1.3 1997/12/11 15:15:58 jj Exp $
  *  The asyncd kernel daemon. This handles paging on behalf of 
  *  processes that receive page faults due to remote (async) memory
  *  accesses. 
@@ -239,7 +239,9 @@
 	current->session = 1;
 	current->pgrp = 1;
 	sprintf(current->comm, "asyncd");
-	current->blocked = ~0UL; /* block all signals */
+	
+	sigfillset(&current->blocked); /* block all signals */
+	recalc_sigpending(current);
   
 	/* Give asyncd a realtime priority. */
 	current->policy = SCHED_FIFO;
@@ -259,7 +261,9 @@
 		save_flags(flags); cli();
 
 		while (!async_queue) {
-			current->signal = 0;
+			spin_lock_irq(&current->sigmask_lock);
+			flush_signals(current);
+			spin_unlock_irq(&current->sigmask_lock);
 			interruptible_sleep_on(&asyncd_wait);
 		}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov