diff options
author | cl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk> | 2005-07-26 15:26:32 +0000 |
---|---|---|
committer | cl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk> | 2005-07-26 15:26:32 +0000 |
commit | eb825f79cb6e0939871180692808f241fe5ddc93 (patch) | |
tree | 5b67c7f5cb99233e1f683f53266e594f74218c77 /tools/xenstore/xenstored_core.h | |
parent | dfc7e02e7ab3715f098e8a6c4105016b0862c5df (diff) | |
download | xen-eb825f79cb6e0939871180692808f241fe5ddc93.tar.gz xen-eb825f79cb6e0939871180692808f241fe5ddc93.tar.bz2 xen-eb825f79cb6e0939871180692808f241fe5ddc93.zip |
Remove ill-conceived concept of watches blocking reply on
connection which did write/mkdir/rm/setperm etc.
This causes deadlocks in real life, and I can't see a sane way
of avoiding them: it is reasonable for someone to ignore watch
notifications while doing other actions, and that means that
we can do other writes. These writes can block pending other
watchers; if one of these is the process blocked awaiting our
ack, we deadlock.
Signed-off-by: Rusty Russel <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Diffstat (limited to 'tools/xenstore/xenstored_core.h')
-rw-r--r-- | tools/xenstore/xenstored_core.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h index 9643d36b95..22662a2eb7 100644 --- a/tools/xenstore/xenstored_core.h +++ b/tools/xenstore/xenstored_core.h @@ -51,8 +51,6 @@ enum state { /* Blocked by transaction. */ BLOCKED, - /* Waiting for watchers to ack event we caused */ - WATCHED, /* Completed */ OK, }; @@ -73,12 +71,6 @@ struct connection /* Node we are waiting for (if state == BLOCKED) */ char *blocked_by; - /* Are we waiting for watches to be acked from an event we caused? */ - unsigned int watches_unacked; - - /* Type of ack to send once watches fired. */ - enum xsd_sockmsg_type watch_ack; - /* Is this a read-only connection? */ bool can_write; |