about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/qemu-kvm
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2009-08-07 09:54:03 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2009-08-07 09:54:03 +0000
commit098626dc86e48dc2bbfa184b81e71ca2de3a9cb6 (patch)
tree075689666783ddcf83ca3f58d708669441a6dfbc /pkgs/os-specific/linux/qemu-kvm
parent75d4611293e7b59922ff647227fd0e53995610d9 (diff)
downloadnixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.tar
nixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.tar.gz
nixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.tar.bz2
nixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.tar.lz
nixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.tar.xz
nixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.tar.zst
nixlib-098626dc86e48dc2bbfa184b81e71ca2de3a9cb6.zip
* hport is in network order, so it needs to be converted back to host
  order...
* Remove the socket file automatically.

svn path=/nixpkgs/trunk/; revision=16602
Diffstat (limited to 'pkgs/os-specific/linux/qemu-kvm')
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/unix-domain.patch7
1 files changed, 4 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch b/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch
index 26e133f1ebfc..cc3f6c9822cc 100644
--- a/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch
+++ b/pkgs/os-specific/linux/qemu-kvm/unix-domain.patch
@@ -26,15 +26,16 @@ diff -rc qemu-kvm-0.11.0-rc1-orig/slirp/socket.c qemu-kvm-0.11.0-rc1/slirp/socke
   	    (listen(s,1) < 0)) {
   		int tmperrno = errno; /* Don't clobber the real reason we failed */
   
---- 622,642 ----
+--- 622,643 ----
   	so->so_lport = lport; /* Kept in network format */
   	so->so_laddr.s_addr = laddr; /* Ditto */
   
-!         int unix_socket = hport >= 0xff00;
+!         int unix_socket = ntohs(hport) >= 0xff00;
   
 !         if (unix_socket) {
 !             addr_un.sun_family = AF_UNIX;
-!             sprintf(addr_un.sun_path, "./%d.socket", hport);
+!             sprintf(addr_un.sun_path, "./%d.socket", ntohs(hport));
+!             unlink(addr_un.sun_path);
 !         } else {
 !             addr.sin_family = AF_INET;
 !             addr.sin_addr.s_addr = haddr;