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

diff --git a/meta b/meta
index 8afd2213e2bbdae2156a6e0b1b97b8bd7481bc95..6120c5519848817e1960999e1c62f0d140b83861 100644 (file)
--- a/meta
+++ b/meta
@@ -1,9 +1,10 @@
 Version: 1
-Previous: c86014f677c31895965dab8d3458a382c6ba5641
-Head: 3deb6392dbcb0b29fb4c96f6a7c73c5e3fca3ee1
+Previous: 047b0dda9d35378aa14f9869160de9d401687b19
+Head: 7bd3d855404258e161a5a43627a2c33f628f194d
 Applied:
   transpose: 84e0beee0d2d3c217cd9703b9e438d25856cacb6
   fork: 3deb6392dbcb0b29fb4c96f6a7c73c5e3fca3ee1
+  refresh-temp: 7bd3d855404258e161a5a43627a2c33f628f194d
 Unapplied:
   rstream-fork: b0aa1c3fe795a4187d6675bdc0f27ea18f733f20
   dbg: ec90e76ee347bb92b73fa7e7d969782f67d4eccf
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..2f333f3
--- /dev/null
@@ -0,0 +1,41 @@
+Bottom: 8e858610108557f53e93dd7af44d25857fb890d0
+Top:    e06d8cda98db4e12dce26674115aa70458eae4d8
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-07-18 10:10:20 -0700
+
+Refresh of fork
+
+---
+
+diff --git a/src/preload.c b/src/preload.c
+index e901d13..7be40f6 100644
+--- a/src/preload.c
++++ b/src/preload.c
+@@ -437,20 +437,23 @@ int listen(int socket, int backlog)
+ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
+ {
+       int fd, index, ret;
++      enum fd_type type;
+-      if (fd_get(socket, &fd) == fd_rsocket) {
++      type = fd_get(socket, &fd);
++      if (type == fd_rsocket || type == fd_fork) {
+               index = fd_open();
+               if (index < 0)
+                       return index;
+-              ret = raccept(fd, addr, addrlen);
++              ret = (type == fd_rsocket) ? raccept(fd, addr, addrlen) :
++                                           real.accept(fd, addr, addrlen);
+               if (ret < 0) {
+                       fd_close(index, &fd);
+                       return ret;
+               }
+-              fd_store(index, ret, fd_rsocket);
+-              last_accept = index;
++              fd_store(index, ret, type);
++              last_accept = (type == fd_fork) ? index : -1;
+               return index;
+       } else {
+               last_accept = -1;