diff options
Diffstat (limited to 'tools/xenstore')
-rw-r--r-- | tools/xenstore/xenstore_client.c | 5 | ||||
-rw-r--r-- | tools/xenstore/xs.c | 2 | ||||
-rw-r--r-- | tools/xenstore/xs.h | 3 |
3 files changed, 5 insertions, 5 deletions
diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c index fe63b6b0c8..94b82b99af 100644 --- a/tools/xenstore/xenstore_client.c +++ b/tools/xenstore/xenstore_client.c @@ -633,9 +633,8 @@ main(int argc, char **argv) max_width = ws.ws_col - 2; } - xsh = socket ? xs_daemon_open() : xs_domain_open(); - if (xsh == NULL) - err(1, socket ? "xs_daemon_open" : "xs_domain_open"); + xsh = xs_open(socket ? XS_OPEN_SOCKETONLY : 0); + if (xsh == NULL) err(1, "xs_open"); again: if (transaction) { diff --git a/tools/xenstore/xs.c b/tools/xenstore/xs.c index f3532b03c1..c72ea83d96 100644 --- a/tools/xenstore/xs.c +++ b/tools/xenstore/xs.c @@ -262,7 +262,7 @@ struct xs_handle *xs_open(unsigned long flags) else xsh = get_handle(xs_daemon_socket(), flags); - if (!xsh) + if (!xsh && !(flags & XS_OPEN_SOCKETONLY)) xsh = get_handle(xs_domain_dev(), flags); return xsh; diff --git a/tools/xenstore/xs.h b/tools/xenstore/xs.h index 1e28849eac..1cbe255a41 100644 --- a/tools/xenstore/xs.h +++ b/tools/xenstore/xs.h @@ -24,7 +24,8 @@ #define XBT_NULL 0 -#define XS_OPEN_READONLY 1<<0 +#define XS_OPEN_READONLY 1UL<<0 +#define XS_OPEN_SOCKETONLY 1UL<<1 struct xs_handle; typedef uint32_t xs_transaction_t; |