]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Tue, 17 Jul 2012 19:45:52 +0000 (12:45 -0700)
committerSean Hefty <sean.hefty@intel.com>
Tue, 17 Jul 2012 19:45:52 +0000 (12:45 -0700)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index ff39f615375c9e6cd74ac2ec8f857f0e02e1fd48..ad28fd2ae8600d1546917212577add80f953cde0 100644 (file)
--- a/meta
+++ b/meta
@@ -1,9 +1,10 @@
 Version: 1
-Previous: 04d16523394b39665de0813e3a3c72c9438fa754
-Head: 91cbcbd916d5835048d140aa97741c8b7eb97c71
+Previous: 04e41906c42dd641d607cd085978535577d1be30
+Head: dd504fd25eea576996cbc575b9ab1ba7b2359382
 Applied:
   transpose: 84e0beee0d2d3c217cd9703b9e438d25856cacb6
   fork: 91cbcbd916d5835048d140aa97741c8b7eb97c71
+  refresh-temp: dd504fd25eea576996cbc575b9ab1ba7b2359382
 Unapplied:
   waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
   rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..64e4d8f
--- /dev/null
@@ -0,0 +1,46 @@
+Bottom: 3e3c89beff00570aab96ab4c0bd6a397aaae83a4
+Top:    14944660e78363c6bab4cdc351003fe0f8f71bf4
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-07-17 12:45:52 -0700
+
+Refresh of fork
+
+---
+
+diff --git a/src/preload.c b/src/preload.c
+index 00ca24e..ed952d7 100644
+--- a/src/preload.c
++++ b/src/preload.c
+@@ -819,7 +819,6 @@ int fcntl(int socket, int cmd, ... /* arg */)
+  */
+ pid_t fork(void)
+ {
+-      struct sockaddr_storage sa;
+       struct sockaddr_in6 sin6;
+       pid_t pid;
+       sem_t *sem;
+@@ -833,12 +832,12 @@ pid_t fork(void)
+           (fd_get(last_accept, &sfd) != fd_fork))
+               goto out;
+-      len = sizeof sa;
+-      ret = real.getsockname(sfd, (struct sockaddr *) &sa, &len);
++      len = sizeof sin6;
++      ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len);
+       if (ret)
+               goto out;
+-      sin6.sin6_family = sa.ss_family;
+-      sin6.sin6_port = ((struct sockaddr_in6 *) &sa)->sin6_port;
++      sin6.sin6_flowinfor = sin6.sin6_scope_id = 0;
++      memset(&sin6.sin6_addr, 0, sizeof sin6.sin6_addr);
+       sem = sem_open("/rsocket_fork", O_CREAT, 0644, 1);
+       if (sem == SEM_FAILED)
+@@ -852,7 +851,7 @@ pid_t fork(void)
+       rsetsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, &param, sizeof param);
+       sem_wait(sem);
+-      ret = rbind(lfd, &sin6, sizeof sin6);
++      ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6);
+       if (ret)
+               goto lclose;