[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] xenstore: create pidfile in init-xenstore-domain



commit 3b779d88e4d82499d0823f7ac1f571f3051efe13
Author:     Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
AuthorDate: Wed Apr 24 12:44:53 2013 -0400
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Wed May 1 12:58:06 2013 +0100

    xenstore: create pidfile in init-xenstore-domain
    
    Since libxl checks for the existance of /var/run/xenstored.pid in order
    to ensure xenstore is running, create this file when starting the
    xenstore stub domain. This also changes the Makefile to enable the
    creation of the init-xenstore-domain tool during tools compilation,
    since the existing Makefile incorrectly added to the ALL_TARGETS list
    when compiling the stubdom, when this variable is not used.
    
    Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 tools/xenstore/Makefile               |    5 ++++-
 tools/xenstore/init-xenstore-domain.c |   12 +++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
index 9172d3a..1bb6e58 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -29,9 +29,12 @@ endif
 
 ALL_TARGETS = libxenstore.so libxenstore.a clients xs_tdb_dump xenstored
 
+ifeq ($(CONFIG_Linux),y)
+ALL_TARGETS += init-xenstore-domain
+endif
+
 ifdef CONFIG_STUBDOM
 CFLAGS += -DNO_SOCKETS=1
-ALL_TARGETS += init-xenstore-domain
 endif
 
 .PHONY: all
diff --git a/tools/xenstore/init-xenstore-domain.c 
b/tools/xenstore/init-xenstore-domain.c
index 18c075b..35f1aa3 100644
--- a/tools/xenstore/init-xenstore-domain.c
+++ b/tools/xenstore/init-xenstore-domain.c
@@ -1,4 +1,5 @@
 #include <fcntl.h>
+#include <unistd.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdint.h>
@@ -69,7 +70,7 @@ int main(int argc, char** argv)
        xc_interface *xch;
        struct xs_handle *xsh;
        char buf[16];
-       int rv;
+       int rv, fd;
 
        if (argc != 4) {
                printf("Use: %s <xenstore-kernel> <memory_mb> <flask-label>\n", 
argv[0]);
@@ -90,5 +91,14 @@ int main(int argc, char** argv)
        xs_write(xsh, XBT_NULL, "/tool/xenstored/domid", buf, rv);
        xs_daemon_close(xsh);
 
+       fd = creat("/var/run/xenstored.pid", 0666);
+       if (fd < 0)
+               return 3;
+       rv = snprintf(buf, 16, "domid:%d\n", domid);
+       rv = write(fd, buf, rv);
+       close(fd);
+       if (rv < 0)
+               return 3;
+
        return 0;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.