summaryrefslogtreecommitdiff
path: root/include/linux/connector.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-29 01:34:14 +0300
committerIngo Molnar <mingo@elte.hu>2009-03-29 01:34:14 +0300
commit38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4 (patch)
treea83d5e4e86edf6cb2de22db6f2ff2274753a2bab /include/linux/connector.h
parentf2d28a2ebcb525a6ec7e2152106ddb385ef52b73 (diff)
parent7c730ccdc1188b97f5c8cb690906242c7ed75c22 (diff)
downloadlinux-38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4.tar.xz
Merge branch 'linus' into core/printk
Diffstat (limited to 'include/linux/connector.h')
-rw-r--r--include/linux/connector.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/connector.h b/include/linux/connector.h
index 34f2789d9b9b..fc65d219d88c 100644
--- a/include/linux/connector.h
+++ b/include/linux/connector.h
@@ -109,6 +109,12 @@ struct cn_queue_dev {
unsigned char name[CN_CBQ_NAMELEN];
struct workqueue_struct *cn_queue;
+ /* Sent to kevent to create cn_queue only when needed */
+ struct work_struct wq_creation;
+ /* Tell if the wq_creation job is pending/completed */
+ atomic_t wq_requested;
+ /* Wait for cn_queue to be created */
+ wait_queue_head_t wq_created;
struct list_head queue_list;
spinlock_t queue_lock;
@@ -164,6 +170,8 @@ int cn_netlink_send(struct cn_msg *, u32, gfp_t);
int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *));
void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id);
+int queue_cn_work(struct cn_callback_entry *cbq, struct work_struct *work);
+
struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *);
void cn_queue_free_dev(struct cn_queue_dev *dev);