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

diff --git a/meta b/meta
index a4cf4dc306f6e9d1e461ad877b6d5e1111660d92..32ffdfe6155f687a1341f6a3ef3962853ba10d73 100644 (file)
--- a/meta
+++ b/meta
@@ -1,9 +1,10 @@
 Version: 1
-Previous: 9517186015b2e8f6da10053be4737197c343c747
-Head: a3854cfc3535f6b396e909741fed3010af710ab4
+Previous: 7e7104e49d842cb0bced6cc9765dc6abe34be1f9
+Head: 9e6907fdc5e19ea5dfd3dd77b3bb8d2b89c064d8
 Applied:
   transpose: 03f4d89839a16c30de3e5094b587e5c4b386adc4
   fork: a3854cfc3535f6b396e909741fed3010af710ab4
+  refresh-temp: 9e6907fdc5e19ea5dfd3dd77b3bb8d2b89c064d8
 Unapplied:
   waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
   rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..2694de1
--- /dev/null
@@ -0,0 +1,60 @@
+Bottom: e90a53de4491d0aa00f51dec53f5a436f320da53
+Top:    2c3d4d1bd4b9fe1a653896a8d234d46ca6620399
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-07-16 16:44:52 -0700
+
+Refresh of fork
+
+---
+
+diff --git a/src/preload.c b/src/preload.c
+index ca81292..22c4b65 100644
+--- a/src/preload.c
++++ b/src/preload.c
+@@ -437,23 +437,24 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
+ static int connect_fork(int socket, const struct sockaddr *addr, socklen_t addrlen)
+ {
++      struct sockaddr_in *sin;
++      int fd, ret;
+       uint32_t msg;
+-      int rs, fd, ret;
+-      fd = fd_getd(socket);
+-      ret = real_connect(fd, addr, addrlen);
+-      if (!ret)
++      fd_get(socket, &fd);
++      ret = real.connect(fd, addr, addrlen);
++      if (ret)
+               return ret;
+-      ret = real_read(fd, &msg, sizeof msg);
++      ret = real.read(fd, &msg, sizeof msg);
+       if (ret != sizeof msg)
+               return ret;
+-      ret = transpose_socket(socket, &fd, fd_rsocket, rsocket,
+-                             real_close, rclose, real_getsockname,
+-                             real_getsockopt, rsetsockopt,
+-                             real_fcntl, rfcntl);
+-      return connect(socket, addr, addrlen);
++      ret = transpose_socket(socket, &fd, fd_rsocket);
++      if (ret)
++              return ret;
++
++      return rconnect(fd, addr, addrlen);
+ }
+ int connect(int socket, const struct sockaddr *addr, socklen_t addrlen)
+@@ -461,7 +462,10 @@ int connect(int socket, const struct sockaddr *addr, socklen_t addrlen)
+       struct sockaddr_in *sin;
+       int fd, ret;
+-      if (fd_get(socket, &fd) == fd_rsocket) {
++      switch (fd_get(socket, &fd)) {
++      case fd_fork:
++              return connect_fork(socket, addr, addrlen);
++      case fd_rsocket:
+               sin = (struct sockaddr_in *) addr;
+               if (ntohs(sin->sin_port) > 1024) {
+                       ret = rconnect(fd, addr, addrlen);