]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
pop (CONFLICT)
authorSean Hefty <sean.hefty@intel.com>
Wed, 18 Jul 2012 19:02:46 +0000 (12:02 -0700)
committerSean Hefty <sean.hefty@intel.com>
Wed, 18 Jul 2012 19:02:46 +0000 (12:02 -0700)
meta
patches/dbg

diff --git a/meta b/meta
index 95a6163cca77c21ce6d96d8cc59b688395c6adfc..f71cc59c2ccdfa3e6344d8898265fb512a37df4b 100644 (file)
--- a/meta
+++ b/meta
@@ -1,12 +1,12 @@
 Version: 1
-Previous: ae87c2fdf6dbda23ed2d2c7a2432e4a6caf2a3ae
+Previous: f74bbedf54e7218a8b4f0e3891d61ba90b8790be
 Head: 7400fb8d400b2ff9c5ec772f23332e426167037d
 Applied:
   transpose: 84e0beee0d2d3c217cd9703b9e438d25856cacb6
   fork: 0744fbe2b19f7924faf0dce72349307cc445577e
   rstream-fork: edf0409ab2138bdaf8283fa19ef0d2560c723478
+  dbg: 7400fb8d400b2ff9c5ec772f23332e426167037d
 Unapplied:
-  dbg: 39a0eb24e8fda68380d463afc169ec5ab7a6c097
   waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
   rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
 Hidden:
index 73b6c371a4ba673251d09a19d0128fea175dcaef..6bed9b3dfe52da60a2c29fdce084b77a6d1d71dd 100644 (file)
@@ -1,5 +1,5 @@
-Bottom: d6e06fd7ea63f4932d2e0c8583d782d079a4712b
-Top:    be7ceaa2c6c1c13647d43a493a75f32e316e92ba
+Bottom: 1f4485c0b98410aa12e6f2832d81210b64ac5c0f
+Top:    1f4485c0b98410aa12e6f2832d81210b64ac5c0f
 Author: Sean Hefty <sean.hefty@intel.com>
 Date:   2012-07-18 09:01:43 -0700
 
@@ -8,102 +8,4 @@ debug fork
 
 ---
 
-diff --git a/src/preload.c b/src/preload.c
-index 2c07cc2..9ec75c3 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -48,6 +48,7 @@
- #include <netinet/tcp.h>
- #include <unistd.h>
- #include <semaphore.h>
-+#include <stdio.h>
- #include <rdma/rdma_cma.h>
- #include <rdma/rdma_verbs.h>
-@@ -467,14 +468,17 @@ static int connect_fork(int socket, const struct sockaddr *addr, socklen_t addrl
-       uint32_t msg;
-       long flags;
-+      printf("connect_fork\n");
-       fd = fd_getd(socket);
-       flags = real.fcntl(fd, F_GETFL);
-       real.fcntl(fd, F_SETFL, 0);
-       ret = real.connect(fd, addr, addrlen);
-+      printf("connect_fork - real connect %d %s\n", ret, strerror(errno));
-       if (ret)
-               return ret;
-       ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-+      printf("connect_fork - real recv %d msg %d\n", ret, msg);
-       if ((ret != sizeof msg) || msg) {
-               fd_store(socket, fd, fd_normal);
-               return 0;
-@@ -482,6 +486,7 @@ static int connect_fork(int socket, const struct sockaddr *addr, socklen_t addrl
-       real.fcntl(fd, F_SETFL, flags);
-       ret = transpose_socket(socket, fd_rsocket);
-+      printf("connect_fork - transpose socket %d\n", ret);
-       if (ret < 0)
-               return ret;
-@@ -834,11 +839,15 @@ pid_t fork(void)
-       uint32_t msg;
-       init_preload();
-+      printf("fork\n");
-       pid = real.fork();
-+      printf("fork - pid %d fork_support %d last_accept %d \n",
-+              pid, fork_support, last_accept);
-       if (pid || !fork_support || (last_accept < 0) ||
-           (fd_get(last_accept, &sfd) != fd_fork))
-               goto out;
-+      printf("fork - switching to rsocket\n");
-       len = sizeof sin6;
-       ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len);
-       if (ret)
-@@ -846,28 +855,36 @@ pid_t fork(void)
-       sin6.sin6_flowinfo = sin6.sin6_scope_id = 0;
-       memset(&sin6.sin6_addr, 0, sizeof sin6.sin6_addr);
-+      sem_unlink("/rsocket_fork");
-       sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR,
-                      S_IRWXU | S_IRWXG, 1);
-+      printf("fork - sem_open\n");
-+      printf("fork - sem value %d\n", sem_getvalue(sem, &ret));
-       if (sem == SEM_FAILED)
-               goto out;
-       lfd = rsocket(sin6.sin6_family, SOCK_STREAM, 0);
-+      printf("fork - rsocket %d\n", lfd);
-       if (lfd < 0)
-               goto sclose;
-       param = 1;
-       rsetsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, &param, sizeof param);
-+      printf("fork - waiting for semaphore\n");
-       sem_wait(sem);
-       ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6);
-+      printf("fork - rbind %d\n", ret);
-       if (ret)
-               goto lclose;
-       ret = rlisten(lfd, 1);
-+      printf("fork - rlisten %d\n", ret);
-       if (ret)
-               goto lclose;
-       dfd = raccept(lfd, NULL, NULL);
-+      printf("fork - raccept %d\n", dfd);
-       if (dfd < 0)
-               goto lclose;
-@@ -877,6 +894,7 @@ pid_t fork(void)
-       msg = 0;
-       ret = real.write(sfd, &msg, sizeof msg);
-+      printf("fork - real write %d\n", ret);
-       if (ret != sizeof msg) {
-               rclose(dfd);
-               goto lclose;
+