X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fguestfsd.c;h=8d950fa120112b7e432b0131fe38727b29d64c0a;hb=5ae752559284efd925fb7959c5760d4fee25f1d6;hp=81305246016b16baef68487a054ee77a08efac88;hpb=866ec00d1f8bc40042795b66ceec12608bb1f9e8;p=libguestfs.git diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 8130524..8d950fa 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -60,6 +60,11 @@ static char *read_cmdline (void); # 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. @@ -237,7 +242,8 @@ main (int argc, char *argv[]) #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" @@ -252,6 +258,7 @@ main (int argc, char *argv[]) "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); } @@ -264,8 +271,10 @@ main (int argc, char *argv[]) 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); @@ -968,7 +977,8 @@ trim (char *str) } /* 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,