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

diff --git a/meta b/meta
index f71cc59c2ccdfa3e6344d8898265fb512a37df4b..8ee9d98f2241c3b5f39ccb8e2fbe2e5b6a23d336 100644 (file)
--- a/meta
+++ b/meta
@@ -1,11 +1,12 @@
 Version: 1
-Previous: f74bbedf54e7218a8b4f0e3891d61ba90b8790be
-Head: 7400fb8d400b2ff9c5ec772f23332e426167037d
+Previous: 8c4feee2616d9f22f09418e59977b823b848cbd1
+Head: 79f7e06928c979f6a2b5c4044e2cabd51ba4e1c5
 Applied:
   transpose: 84e0beee0d2d3c217cd9703b9e438d25856cacb6
   fork: 0744fbe2b19f7924faf0dce72349307cc445577e
   rstream-fork: edf0409ab2138bdaf8283fa19ef0d2560c723478
   dbg: 7400fb8d400b2ff9c5ec772f23332e426167037d
+  refresh-temp: 79f7e06928c979f6a2b5c4044e2cabd51ba4e1c5
 Unapplied:
   waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
   rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..a7e6a2e
--- /dev/null
@@ -0,0 +1,105 @@
+Bottom: 1f4485c0b98410aa12e6f2832d81210b64ac5c0f
+Top:    bf38d805cecbb29ad4eeaf8fed937dbf9eeaa591
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-07-18 12:03:25 -0700
+
+Refresh of dbg
+
+---
+
+diff --git a/src/preload.c b/src/preload.c
+index f824af3..aa1939d 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,33 +855,42 @@ 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;
+       msg = 0;
+       ret = real.write(sfd, &msg, sizeof msg);
++      printf("fork - real write %d\n", ret);
+       if (ret != sizeof msg)
+               goto lclose;
+       dfd = raccept(lfd, NULL, NULL);
++      printf("fork - raccept %d\n", dfd);
+       if (dfd < 0)
+               goto lclose;