On 6/2/20 7:27 AM, Richard W.M. Jones wrote:
Pure refactoring.  Just decouples the complicated reexec code from the
rest.
---
  plugins/vddk/Makefile.am |   2 +
  plugins/vddk/vddk.h      |  42 +++++++++
  plugins/vddk/reexec.c    | 196 +++++++++++++++++++++++++++++++++++++++
  plugins/vddk/vddk.c      | 151 ++----------------------------
  4 files changed, 246 insertions(+), 145 deletions(-)


+
+/* If load_library caused a re-execution with an expanded
+ * LD_LIBRARY_PATH, restore it back to its original contents, passed
+ * as the value of "reexeced_".  dlopen uses the value of

Comment may need a tweak, since the .config parsing of reexeced_ is now in a different file, and this file is going solely off the global reexeced.

+ * LD_LIBRARY_PATH cached at program startup; our change is for the
+ * sake of child processes (such as --run) to see the same
+ * environment as the original nbdkit saw before re-exec.
+ */
+int
+restore_ld_library_path (void)
+{
+  if (reexeced) {
+    char *env = getenv ("LD_LIBRARY_PATH");
+
+    nbdkit_debug ("cleaning up after re-exec");
+    if (!env || strstr (env, reexeced) == NULL ||
+        (libdir && strncmp (env, libdir, strlen (libdir)) != 0)) {
+      nbdkit_error ("'reexeced_' set with garbled environment");

Then again, we are outputting an error message based on what .config saw.

At any rate, the split makes sense.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

_______________________________________________
Libguestfs mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libguestfs

Reply via email to