aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xenstore
diff options
context:
space:
mode:
Diffstat (limited to 'tools/xenstore')
-rw-r--r--tools/xenstore/xenstore_client.c5
-rw-r--r--tools/xenstore/xs.c2
-rw-r--r--tools/xenstore/xs.h3
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;