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

diff --git a/meta b/meta
index e4d52c7190619670540a5d3154246bd0c1e8a9e4..729c781c086bcd72e32530abb0c3123be4e9d596 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,9 @@
 Version: 1
-Previous: 1ac406fd9ba3cea33b987ab75134faf544a9be37
-Head: 85b4b437b6341c6acd121da7280c838adc79549a
+Previous: 3c50300188929e24f89589e0951b6ff1f93defa3
+Head: 20acee2d0dd47800dbff3247882ff87589bc28df
 Applied:
   fork: 85b4b437b6341c6acd121da7280c838adc79549a
+  refresh-temp: 20acee2d0dd47800dbff3247882ff87589bc28df
 Unapplied:
   waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
   rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..7891383
--- /dev/null
@@ -0,0 +1,57 @@
+Bottom: 7ec243f3149e9a1ff1d5183f18e30d2458e354d6
+Top:    38d73276ff33c48f81d135b5e5b1c3a0963111e6
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-07-13 16:50:02 -0700
+
+Refresh of fork
+
+---
+
+diff --git a/src/preload.c b/src/preload.c
+index 2750b30..50430f7 100644
+--- a/src/preload.c
++++ b/src/preload.c
+@@ -92,10 +92,12 @@ static pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER;
+ static int sq_size;
+ static int rq_size;
+ static int sq_inline;
++static int fork_support;
+ enum fd_type {
+       fd_normal,
+-      fd_rsocket
++      fd_rsocket,
++      fd_fork
+ };
+ struct fd_info {
+@@ -207,6 +209,10 @@ void getenv_options(void)
+       var = getenv("RS_INLINE");
+       if (var)
+               sq_inline = atoi(var);
++
++      var = getenv("RS_FORK");
++      if (var)
++              fork_support = atoi(var);
+ }
+ static void init_preload(void)
+@@ -332,8 +338,16 @@ int socket(int domain, int type, int protocol)
+       ret = rsocket(domain, type, protocol);
+       recursive = 0;
+       if (ret >= 0) {
+-              fd_store(index, ret, fd_rsocket);
+-              set_rsocket_options(ret);
++              if (fork_support) {
++                      rclose(ret);
++                      ret = real_socket(domain, type, protocol);
++                      if (ret < 0)
++                              return ret;
++                      fd_store(index, ret, fd_fork);
++              } else {
++                      fd_store(index, ret, fd_rsocket);
++                      set_rsocket_options(ret);
++              }
+               return index;
+       }
+       fd_close(index, &ret);