patch-2.3.10 linux/kernel/signal.c
Next file: linux/kernel/sys.c
Previous file: linux/kernel/sched.c
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
Mon Jul 5 20:02:10 1999
- Orig file:
v2.3.9/linux/kernel/signal.c
- Orig date:
Mon Jun 7 16:14:06 1999
diff -u --recursive --new-file v2.3.9/linux/kernel/signal.c linux/kernel/signal.c
@@ -29,7 +29,7 @@
static kmem_cache_t *signal_queue_cachep;
-int nr_queued_signals;
+atomic_t nr_queued_signals;
int max_queued_signals = 1024;
void __init signals_init(void)
@@ -60,7 +60,7 @@
while (q) {
n = q->next;
kmem_cache_free(signal_queue_cachep, q);
- nr_queued_signals--;
+ atomic_dec(&nr_queued_signals);
q = n;
}
}
@@ -157,7 +157,7 @@
current->sigqueue_tail = pp;
*info = q->info;
kmem_cache_free(signal_queue_cachep,q);
- nr_queued_signals--;
+ atomic_dec(&nr_queued_signals);
/* then see if this signal is still pending. */
q = *pp;
@@ -323,13 +323,13 @@
struct signal_queue *q = 0;
- if (nr_queued_signals < max_queued_signals) {
+ if (atomic_read(&nr_queued_signals) < max_queued_signals) {
q = (struct signal_queue *)
kmem_cache_alloc(signal_queue_cachep, GFP_ATOMIC);
}
if (q) {
- nr_queued_signals++;
+ atomic_inc(&nr_queued_signals);
q->next = NULL;
*t->sigqueue_tail = q;
t->sigqueue_tail = &q->next;
@@ -872,7 +872,7 @@
else {
*pp = q->next;
kmem_cache_free(signal_queue_cachep, q);
- nr_queued_signals--;
+ atomic_dec(&nr_queued_signals);
}
q = *pp;
}
@@ -1067,7 +1067,9 @@
return old;
}
+#endif /* !defined(__alpha__) */
+#if !defined(__alpha__) && !defined(__mips__)
/*
* For backwards compatibility. Functionality superseded by sigaction.
*/
@@ -1084,4 +1086,4 @@
return ret ? ret : (unsigned long)old_sa.sa.sa_handler;
}
-#endif /* !alpha && !__ia64__ */
+#endif /* !alpha && !__ia64__ && !defined(__mips__) */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)