# define MAX(a,b) ((a)>(b)?(a):(b))
#endif
+/* Not the end of the world if this open flag is not defined. */
+#ifndef O_CLOEXEC
+# define O_CLOEXEC 0
+#endif
+
/* If root device is an ext2 filesystem, this is the major and minor.
* This is so we can ignore this device from the point of view of the
* user, eg. in guestfs_list_devices and many other places.
#endif
/* Connect to virtio-serial channel. */
- int sock = open ("/dev/virtio-ports/org.libguestfs.channel.0", O_RDWR);
+ int sock = open ("/dev/virtio-ports/org.libguestfs.channel.0",
+ O_RDWR | O_CLOEXEC);
if (sock == -1) {
fprintf (stderr,
"\n"
"output to the libguestfs developers, either in a bug report\n"
"or on the libguestfs redhat com mailing list.\n"
"\n");
+ perror ("/dev/virtio-ports/org.libguestfs.channel.0");
exit (EXIT_FAILURE);
}
xdrmem_create (&xdr, lenbuf, sizeof lenbuf, XDR_ENCODE);
xdr_u_int (&xdr, &len);
- if (xwrite (sock, lenbuf, sizeof lenbuf) == -1)
+ if (xwrite (sock, lenbuf, sizeof lenbuf) == -1) {
+ perror ("xwrite");
exit (EXIT_FAILURE);
+ }
xdr_destroy (&xdr);
}
/* printf helper function so we can use %Q ("quoted") and %R to print
- * shell-quoted strings. See HACKING file for more details.
+ * shell-quoted strings. See guestfs(3)/EXTENDING LIBGUESTFS for more
+ * details.
*/
static int
print_shell_quote (FILE *stream,