From: Sean Hefty Date: Wed, 18 Jul 2012 18:57:22 +0000 (-0700) Subject: refresh X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=061fa02eb53f8bd6516839844751bd30d17a5f8c;p=~shefty%2Flibrdmacm.git refresh --- diff --git a/meta b/meta index 88dc1729..c2b2acfc 100644 --- a/meta +++ b/meta @@ -1,12 +1,11 @@ Version: 1 -Previous: ede1d3648fbe9f9f4011c28585b5ff439fe2fe74 -Head: 5405b9ea5b88b31ebde51de3842ed9b46cf6a4a3 +Previous: 466d892b8aec83809f784a9bd0643304109b7c2b +Head: 9b9f2bc3749341845f327c1f3f0504cc555bfdf4 Applied: transpose: 84e0beee0d2d3c217cd9703b9e438d25856cacb6 fork: 3954e0217e42a05d30c8ad773cdc0d80529ab553 rstream-fork: b948492c5ebb014507f66b5445ecd38ee52aaac9 - dbg: 60bc1788f6d9d294abc4907ea59f513e14d50485 - refresh-temp: 5405b9ea5b88b31ebde51de3842ed9b46cf6a4a3 + dbg: 9b9f2bc3749341845f327c1f3f0504cc555bfdf4 Unapplied: waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8 rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de diff --git a/patches/dbg b/patches/dbg index c8ae73c4..4651c6a2 100644 --- a/patches/dbg +++ b/patches/dbg @@ -1,5 +1,5 @@ Bottom: d6e06fd7ea63f4932d2e0c8583d782d079a4712b -Top: d6e06fd7ea63f4932d2e0c8583d782d079a4712b +Top: 0b1093b8b1d8801f65a89bc66e61c3772285861a Author: Sean Hefty Date: 2012-07-18 09:01:43 -0700 @@ -8,4 +8,99 @@ debug fork --- - +diff --git a/src/preload.c b/src/preload.c +index 2c07cc2..09c23d9 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) +@@ -848,26 +857,33 @@ pid_t fork(void) + + 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, ¶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; + +@@ -877,6 +893,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; diff --git a/patches/refresh-temp b/patches/refresh-temp deleted file mode 100644 index 5ce33ce3..00000000 --- a/patches/refresh-temp +++ /dev/null @@ -1,105 +0,0 @@ -Bottom: d6e06fd7ea63f4932d2e0c8583d782d079a4712b -Top: 0b1093b8b1d8801f65a89bc66e61c3772285861a -Author: Sean Hefty -Date: 2012-07-18 11:57:22 -0700 - -Refresh of dbg - ---- - -diff --git a/src/preload.c b/src/preload.c -index 2c07cc2..09c23d9 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) -@@ -848,26 +857,33 @@ pid_t fork(void) - - 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, ¶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; - -@@ -877,6 +893,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;