]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
commit
authorSean Hefty <sean.hefty@intel.com>
Thu, 22 Jan 2015 20:53:29 +0000 (12:53 -0800)
committerSean Hefty <sean.hefty@intel.com>
Thu, 22 Jan 2015 20:53:29 +0000 (12:53 -0800)
meta
patches/rping-create-persistent-server [deleted file]

diff --git a/meta b/meta
index 5428c937acbbcaa9d854247adf1dde02259a1c72..79b9cac60ed7305aa779f97e3a5a0036a2895735 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,7 @@
 Version: 1
-Previous: f4ae716e65fa81daca7c4dda1cf7d7878c5e14f8
+Previous: 3c97be238892c773804c25bc152c5780817f1e10
 Head: 5c5bd081e37a5788defb0ca0bc907b588524fa44
 Applied:
-  rping-create-persistent-server: 5c5bd081e37a5788defb0ca0bc907b588524fa44
 Unapplied:
   old-af-ib: aaa0d9ca917c8c361a978e5a116963c2cceac5ba
   old-seterr: 47eb0c419687c2690292c1910acae83a46e5388c
diff --git a/patches/rping-create-persistent-server b/patches/rping-create-persistent-server
deleted file mode 100644 (file)
index 75ad242..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-Bottom: e95f5275d89440ba116805743d8bef291d058c93
-Top:    bc6e27468c0f7e18f8977628c2581cff36914899
-Author: Steve Wise <swise@opengridcomputing.com>
-Date:   2015-01-12 10:57:40 -0600
-
-rping: create persistent server threads in DETACHED state
-
-Since the persistent server threads aren't joined, they must be created in
-the DETACHED state or resources will not be cleaned up when they exit.
-This results in pthread_create() failures after thousands of rping
-instances are run against a persistent server.
-
-Also check the return from all calls to pthread_create() so we don't
-ignore a thread creation failure.
-
-Signed-off-by: Steve Wise <swise@opengridcomputing.com>
-
-
----
-
-diff --git a/examples/rping.c b/examples/rping.c
-index 58b642e..9486314 100644
---- a/examples/rping.c
-+++ b/examples/rping.c
-@@ -793,7 +793,11 @@ static void *rping_persistent_server_thread(void *arg)
-               goto err2;
-       }
--      pthread_create(&cb->cqthread, NULL, cq_thread, cb);
-+      ret = pthread_create(&cb->cqthread, NULL, cq_thread, cb);
-+      if (ret) {
-+              perror("pthread_create");
-+              goto err2;
-+      }
-       ret = rping_accept(cb);
-       if (ret) {
-@@ -825,11 +829,27 @@ static int rping_run_persistent_server(struct rping_cb *listening_cb)
- {
-       int ret;
-       struct rping_cb *cb;
-+      pthread_attr_t attr;
-       ret = rping_bind_server(listening_cb);
-       if (ret)
-               return ret;
-+      /*
-+       * Set persistent server threads to DEATCHED state so
-+       * they release all their resources when they exit.
-+       */
-+      ret = pthread_attr_init(&attr);
-+      if (ret) {
-+              perror("pthread_attr_init");
-+              return ret;
-+      }
-+      ret = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-+      if (ret) {
-+              perror("pthread_attr_setdetachstate");
-+              return ret;
-+      }
-+
-       while (1) {
-               sem_wait(&listening_cb->sem);
-               if (listening_cb->state != CONNECT_REQUEST) {
-@@ -841,7 +861,12 @@ static int rping_run_persistent_server(struct rping_cb *listening_cb)
-               cb = clone_cb(listening_cb);
-               if (!cb)
-                       return -1;
--              pthread_create(&cb->persistent_server_thread, NULL, rping_persistent_server_thread, cb);
-+
-+              ret = pthread_create(&cb->persistent_server_thread, &attr, rping_persistent_server_thread, cb);
-+              if (ret) {
-+                      perror("pthread_create");
-+                      return ret;
-+              }
-       }
-       return 0;
- }
-@@ -880,7 +905,11 @@ static int rping_run_server(struct rping_cb *cb)
-               goto err2;
-       }
--      pthread_create(&cb->cqthread, NULL, cq_thread, cb);
-+      ret = pthread_create(&cb->cqthread, NULL, cq_thread, cb);
-+      if (ret) {
-+              perror("pthread_create");
-+              goto err2;
-+      }
-       ret = rping_accept(cb);
-       if (ret) {
-@@ -1055,7 +1084,11 @@ static int rping_run_client(struct rping_cb *cb)
-               goto err2;
-       }
--      pthread_create(&cb->cqthread, NULL, cq_thread, cb);
-+      ret = pthread_create(&cb->cqthread, NULL, cq_thread, cb);
-+      if (ret) {
-+              perror("pthread_create");
-+              goto err2;
-+      }
-       ret = rping_connect_client(cb);
-       if (ret) {
-@@ -1222,7 +1255,11 @@ int main(int argc, char *argv[])
-       }
-       DEBUG_LOG("created cm_id %p\n", cb->cm_id);
--      pthread_create(&cb->cmthread, NULL, cm_thread, cb);
-+      ret = pthread_create(&cb->cmthread, NULL, cm_thread, cb);
-+      if (ret) {
-+              perror("pthread_create");
-+              goto out2;
-+      }
-       if (cb->server) {
-               if (persistent_server)