From: Sean Hefty Date: Wed, 18 Jul 2012 18:56:05 +0000 (-0700) Subject: pop (CONFLICT) X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=24bc15bc34338af4383c056a93377680c27526b0;p=~shefty%2Flibrdmacm.git pop (CONFLICT) --- diff --git a/meta b/meta index 21530398..a442c77e 100644 --- a/meta +++ b/meta @@ -1,12 +1,12 @@ Version: 1 -Previous: aa579f65d403631211ce28c62f07cbe2d88c2313 +Previous: 4281e1cba1c48f4f9e3db9caf9f76f81e1624efc Head: 60bc1788f6d9d294abc4907ea59f513e14d50485 Applied: transpose: 84e0beee0d2d3c217cd9703b9e438d25856cacb6 fork: 3954e0217e42a05d30c8ad773cdc0d80529ab553 rstream-fork: b948492c5ebb014507f66b5445ecd38ee52aaac9 + dbg: 60bc1788f6d9d294abc4907ea59f513e14d50485 Unapplied: - dbg: ff02e9796a45f108da358d23b2917f0726569695 waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8 rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de Hidden: diff --git a/patches/dbg b/patches/dbg index c3a2a323..c8ae73c4 100644 --- a/patches/dbg +++ b/patches/dbg @@ -1,5 +1,5 @@ -Bottom: abbc38c21bbfe7d98d8a01bbaa634d07ca20751e -Top: 2e0d31141fb1fe8d53014430b90995379341e284 +Bottom: d6e06fd7ea63f4932d2e0c8583d782d079a4712b +Top: d6e06fd7ea63f4932d2e0c8583d782d079a4712b Author: Sean Hefty Date: 2012-07-18 09:01:43 -0700 @@ -8,98 +8,4 @@ debug fork --- -diff --git a/src/preload.c b/src/preload.c -index 5b6b50a..942bcf1 100644 ---- a/src/preload.c -+++ b/src/preload.c -@@ -48,6 +48,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -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) -@@ -847,26 +856,32 @@ pid_t fork(void) - memset(&sin6.sin6_addr, 0, sizeof sin6.sin6_addr); - - sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR, S_IRWXU, 1); -+ printf("fork - sem_open\n"); - 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, ¶m, 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; - -@@ -876,6 +891,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; +