Ubuntu 11.10: Create /run and /run/lock if not already.
[libguestfs.git] / fish / rc.c
index e637fc6..1744c41 100644 (file)
--- a/fish/rc.c
+++ b/fish/rc.c
@@ -71,6 +71,7 @@ receive_stdout (int s)
   }
 
   /* Don't specify a source */
+  memset (&msg, 0, sizeof msg);
   msg.msg_name = NULL;
   msg.msg_namelen = 0;
 
@@ -118,6 +119,7 @@ send_stdout (int s)
   char buf[1];
 
   /* Don't specify a destination */
+  memset (&msg, 0, sizeof msg);
   msg.msg_name    = NULL;
   msg.msg_namelen = 0;
 
@@ -198,7 +200,12 @@ rc_listen (void)
 
   if (pid > 0) {
     /* Parent process. */
-    printf ("export GUESTFISH_PID=%d\n", pid);
+
+    if (!remote_control_csh)
+      printf ("GUESTFISH_PID=%d; export GUESTFISH_PID\n", pid);
+    else
+      printf ("setenv GUESTFISH_PID %d\n", pid);
+
     fflush (stdout);
     _exit (0);
   }
@@ -279,7 +286,7 @@ rc_listen (void)
         }
 
         /* Run the command. */
-        reply.r = issue_command (call.cmd, argv, NULL);
+        reply.r = issue_command (call.cmd, argv, NULL, 0);
 
         xdr_free ((xdrproc_t) xdr_guestfish_call, (char *) &call);