diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-10-09 23:53:03 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-10-09 23:53:03 +0100 |
commit | 5fec4cf7660cbcd50a016750b5de37394c6a65b1 (patch) | |
tree | daaf58a55dd3d55eb08c45c34f77fa10a6fd24c8 /tools/xenstore/xenstored_watch.h | |
parent | 25517fd2f2a26162a466a0933cb56c49373fbae7 (diff) | |
download | xen-5fec4cf7660cbcd50a016750b5de37394c6a65b1.tar.gz xen-5fec4cf7660cbcd50a016750b5de37394c6a65b1.tar.bz2 xen-5fec4cf7660cbcd50a016750b5de37394c6a65b1.zip |
Simplify reply logic in xenstored. Maintain a linked list
of pending replies that are sent out in order.
Currently we only read new requests when the reply list is
empty. In fact there is no good reason for this restriction.
Another interesting point is that (on my test machine)
hotplug blk setup fails if xenstored_client connects to
xenstored via the unix domain socket rather than through the
kernel --- this points to some user/kernel races that are
'fixed' by the extra serialisation of the in-kernel mutexes.
It definitely needs looking into.
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'tools/xenstore/xenstored_watch.h')
-rw-r--r-- | tools/xenstore/xenstored_watch.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/tools/xenstore/xenstored_watch.h b/tools/xenstore/xenstored_watch.h index ed8892c4aa..2eccff9476 100644 --- a/tools/xenstore/xenstored_watch.h +++ b/tools/xenstore/xenstored_watch.h @@ -23,17 +23,9 @@ #include "xenstored_core.h" void do_watch(struct connection *conn, struct buffered_data *in); -void do_watch_ack(struct connection *conn, const char *token); void do_unwatch(struct connection *conn, struct buffered_data *in); -/* Is this a watch event message for this connection? */ -bool is_watch_event(struct connection *conn, struct buffered_data *out); - -/* Look through our watches: if any of them have an event, queue it. */ -void queue_next_event(struct connection *conn); - -/* Fire all watches: recurse means all the children are affected (ie. rm). - */ +/* Fire all watches: recurse means all the children are affected (ie. rm). */ void fire_watches(struct connection *conn, const char *name, bool recurse); void dump_watches(struct connection *conn); |