diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-08 01:01:14 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-08 01:01:14 -0300 |
commit | e5fd91f1ef340da553f7a79da9540c3db711c937 (patch) | |
tree | b11842027dc6641da63f4bcc524f8678263304a3 /ipc/kdbus/node.h | |
parent | 2a9b0348e685a63d97486f6749622b61e9e3292f (diff) |
Linux-libre 4.2-gnu
Diffstat (limited to 'ipc/kdbus/node.h')
-rw-r--r-- | ipc/kdbus/node.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ipc/kdbus/node.h b/ipc/kdbus/node.h index 970e02b08..16c6fd574 100644 --- a/ipc/kdbus/node.h +++ b/ipc/kdbus/node.h @@ -32,6 +32,7 @@ typedef void (*kdbus_node_free_t) (struct kdbus_node *node); typedef void (*kdbus_node_release_t) (struct kdbus_node *node, bool was_active); struct kdbus_node { + struct mutex lock; atomic_t refcnt; atomic_t active; wait_queue_head_t waitq; @@ -49,10 +50,9 @@ struct kdbus_node { unsigned int hash; unsigned int id; struct kdbus_node *parent; /* may be NULL */ - - /* valid iff active */ - struct mutex lock; struct rb_node rb; + + /* dynamic list of children */ struct rb_root children; }; @@ -72,6 +72,7 @@ bool kdbus_node_is_active(struct kdbus_node *node); bool kdbus_node_is_deactivated(struct kdbus_node *node); bool kdbus_node_activate(struct kdbus_node *node); void kdbus_node_deactivate(struct kdbus_node *node); +void kdbus_node_drain(struct kdbus_node *node); bool kdbus_node_acquire(struct kdbus_node *node); void kdbus_node_release(struct kdbus_node *node); |