Allows compilation, but no creation of child processes yet.  Take it
one step at a time.

* src/util/util.c (virExecWithHook) [WIN32]: New dummy function.
* src/libvirt_private.syms: Export it.
---
 src/libvirt_private.syms |    1 +
 src/util/util.c          |   22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 840588a..2c17fd1 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -811,6 +811,7 @@ virEventAddHandle;
 virEventRemoveHandle;
 virExec;
 virExecDaemonize;
+virExecWithHook;
 virFileAbsPath;
 virFileDeletePid;
 virFileExists;
diff --git a/src/util/util.c b/src/util/util.c
index 7eb8662..6c83955 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -925,6 +925,28 @@ virExec(const char *const*argv ATTRIBUTE_UNUSED,
 }

 int
+virExecWithHook(const char *const*argv ATTRIBUTE_UNUSED,
+                const char *const*envp ATTRIBUTE_UNUSED,
+                const fd_set *keepfd ATTRIBUTE_UNUSED,
+                pid_t *retpid ATTRIBUTE_UNUSED,
+                int infd ATTRIBUTE_UNUSED,
+                int *outfd ATTRIBUTE_UNUSED,
+                int *errfd ATTRIBUTE_UNUSED,
+                int flags ATTRIBUTE_UNUSED,
+                virExecHook hook ATTRIBUTE_UNUSED,
+                void *data ATTRIBUTE_UNUSED,
+                char *pidfile ATTRIBUTE_UNUSED)
+{
+    /* Some day we can implement pieces of virExec on top of _spawn()
+     * or CreateProcess(), but we can't implement everything, since
+     * mingw completely lacks fork(), so we cannot run hook code in
+     * the child.  */
+    virUtilError(VIR_ERR_INTERNAL_ERROR,
+                 "%s", _("virExec is not implemented for WIN32"));
+    return -1;
+}
+
+int
 virExecDaemonize(const char *const*argv ATTRIBUTE_UNUSED,
                  const char *const*envp ATTRIBUTE_UNUSED,
                  const fd_set *keepfd ATTRIBUTE_UNUSED,
-- 
1.7.3.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to