45 static struct kmem_cache *tipc_queue_item_cache;
46 static struct list_head signal_queue_head;
50 static void process_signal_queue(
unsigned long dummy);
59 if (!handler_enabled) {
60 pr_err(
"Signal request ignored by handler\n");
64 spin_lock_bh(&qitem_lock);
67 pr_err(
"Signal queue out of memory\n");
68 spin_unlock_bh(&qitem_lock);
72 item->
data = argument;
74 spin_unlock_bh(&qitem_lock);
75 tasklet_schedule(&tipc_tasklet);
79 static void process_signal_queue(
unsigned long dummy)
84 spin_lock_bh(&qitem_lock);
88 spin_unlock_bh(&qitem_lock);
89 item->handler(item->data);
90 spin_lock_bh(&qitem_lock);
93 spin_unlock_bh(&qitem_lock);
98 tipc_queue_item_cache =
101 if (!tipc_queue_item_cache)
104 INIT_LIST_HEAD(&signal_queue_head);
105 tasklet_enable(&tipc_tasklet);
115 if (!handler_enabled)
121 spin_lock_bh(&qitem_lock);
127 spin_unlock_bh(&qitem_lock);