patch-2.1.70 linux/include/linux/sched.h
Next file: linux/include/linux/sjcd.h
Previous file: linux/include/linux/sbpcd.h
Back to the patch index
Back to the overall index
-  Lines: 49
 -  Date:
Tue Dec  2 14:52:20 1997
 -  Orig file: 
v2.1.69/linux/include/linux/sched.h
 -  Orig date: 
Mon Dec  1 12:04:15 1997
 
diff -u --recursive --new-file v2.1.69/linux/include/linux/sched.h linux/include/linux/sched.h
@@ -182,7 +182,7 @@
 	long counter;
 	long priority;
 	unsigned long flags;	/* per process flags, defined below */
-	int errno;
+	int sigpending;
 	long debugreg[8];  /* Hardware debugging registers */
 	struct exec_domain *exec_domain;
 /* various fields */
@@ -273,7 +273,6 @@
 					/* Not implemented yet, only for 486*/
 #define PF_STARTING	0x00000002	/* being created */
 #define PF_EXITING	0x00000004	/* getting shut down */
-#define PF_SIGPENDING	0x00000008	/* at least on unblocked sig ready */
 #define PF_PTRACED	0x00000010	/* set if ptrace (0) has been called */
 #define PF_TRACESYS	0x00000020	/* tracing system calls */
 #define PF_FORKNOEXEC	0x00000040	/* forked but didn't exec */
@@ -467,7 +466,7 @@
 
 extern inline int signal_pending(struct task_struct *p)
 {
-	return (p->flags & PF_SIGPENDING) != 0;
+	return (p->sigpending != 0);
 }
 
 /* Reevaluate whether the task has signals pending delivery.
@@ -476,7 +475,7 @@
 
 static inline void recalc_sigpending(struct task_struct *t)
 {
-	unsigned long ready, nflags;
+	unsigned long ready;
 	long i;
 
 	switch (_NSIG_WORDS) {
@@ -498,12 +497,7 @@
 	case 1: ready  = t->signal.sig[0] &~ t->blocked.sig[0];
 	}
 
-	/* Poor gcc has trouble with conditional moves... */
-	nflags = t->flags &~ PF_SIGPENDING;
-	if (ready)
-		nflags = t->flags | PF_SIGPENDING;
-
-	t->flags = nflags;
+	t->sigpending = (ready != 0);
 }
 
 
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov