Version: 1
-Previous: 0cb978a21e0c31fa2f5052571df8e8a9f11768d6
-Head: 0d1a80f7abd746b507e657d2eaba752fc78f8fc4
+Previous: d62ced077b3ab0874f099eccae586ad5b4499f56
+Head: cf185ebf98328a37bde0d4da9bd176d3e7271fa5
Applied:
cma-rm-pd: 2ffda7f2991395570b9e776ff5ae256ca9684771
transpose: 3e52eb22f44eafaefa95c4674bc5665a94e15694
rstream-fork: a1d261650896286989c5197199da7729b3d61fa5
init-getname: 7d988863b218d1b66e3739ec4b6f51acc72b2334
rs-ftp: 28e0744eb89227fbeded485fbad64010b9edf0f6
- dbg: 1b132fad3d5b0f0c0a4dba2176e9c0792b42e633
- refresh-temp: 0d1a80f7abd746b507e657d2eaba752fc78f8fc4
+ dbg: cf185ebf98328a37bde0d4da9bd176d3e7271fa5
Unapplied:
waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de
Bottom: 2d7d36989522b9e010497256793038fb2cb5aa9e
-Top: 6a80dbc9a9422453e6bcd2724cd614a7768cb5e7
+Top: d02cc7716cf9826fa0d5cc49b028d9a4ad2c229f
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-07-18 09:01:43 -0700
if (cma_dev_cnt) {
pthread_mutex_unlock(&mut);
diff --git a/src/preload.c b/src/preload.c
-index 52eaf1a..bc95da8 100644
+index 52eaf1a..370e8bc 100644
--- a/src/preload.c
+++ b/src/preload.c
@@ -48,6 +48,7 @@
fd_store(index, ret, type);
return index;
} else {
-@@ -455,14 +465,17 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
+@@ -455,25 +465,33 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
uint32_t msg;
long flags;
if (ret)
return ret;
- ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
+- ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
++ do {
++ ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
++ } while (!ret);
+ printf("connect_fork - real recv %d msg %d\n", ret, msg);
if ((ret != sizeof msg) || msg) {
++ printf("connect_fork - falling back to normal socket\n");
fd_store(socket, fd, fd_normal);
return 0;
-@@ -470,10 +483,12 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
+ }
real.fcntl(fd, F_SETFL, flags);
ret = transpose_socket(socket, fd_rsocket);
return rconnect(ret, addr, addrlen);
}
-@@ -570,6 +585,7 @@ int connect(int socket, const struct sockaddr *addr, socklen_t addrlen)
+@@ -485,10 +503,12 @@ static void fork_passive(int socket)
+ socklen_t len;
+ uint32_t msg;
+
++ printf("fork_passive\n");
+ fd_get(socket, &sfd);
+
+ len = sizeof sin6;
+ ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len);
++ printf("fork_passive - getsockname %d (%s)\n", ret, strerror(errno));
+ if (ret)
+ goto out;
+ sin6.sin6_flowinfo = sin6.sin6_scope_id = 0;
+@@ -496,12 +516,14 @@ static void fork_passive(int socket)
+
+ sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR,
+ S_IRWXU | S_IRWXG, 1);
++ printf("fork_passive - sem_open %p (%s)\n", (void *) sem, strerror(errno));
+ if (sem == SEM_FAILED) {
+ ret = -1;
+ goto out;
+ }
+
+ lfd = rsocket(sin6.sin6_family, SOCK_STREAM, 0);
++ printf("fork_passive - rsocket %d (%s)\n", lfd, strerror(errno));
+ if (lfd < 0) {
+ ret = lfd;
+ goto sclose;
+@@ -512,6 +534,7 @@ static void fork_passive(int socket)
+
+ sem_wait(sem);
+ ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6);
++ printf("fork_passive - rbind %d (%s)\n", ret, strerror(errno));
+ if (ret)
+ goto lclose;
+
+@@ -570,6 +593,7 @@ int connect(int socket, const struct sockaddr *addr, socklen_t addrlen)
{
int fd, ret;
+++ /dev/null
-Bottom: 6a80dbc9a9422453e6bcd2724cd614a7768cb5e7
-Top: d02cc7716cf9826fa0d5cc49b028d9a4ad2c229f
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-07-25 13:03:38 -0700
-
-Refresh of dbg
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index bc95da8..370e8bc 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -474,9 +474,12 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
- if (ret)
- return ret;
-
-- ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-+ do {
-+ ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-+ } while (!ret);
- printf("connect_fork - real recv %d msg %d\n", ret, msg);
- if ((ret != sizeof msg) || msg) {
-+ printf("connect_fork - falling back to normal socket\n");
- fd_store(socket, fd, fd_normal);
- return 0;
- }
-@@ -500,10 +503,12 @@ static void fork_passive(int socket)
- socklen_t len;
- uint32_t msg;
-
-+ printf("fork_passive\n");
- fd_get(socket, &sfd);
-
- len = sizeof sin6;
- ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len);
-+ printf("fork_passive - getsockname %d (%s)\n", ret, strerror(errno));
- if (ret)
- goto out;
- sin6.sin6_flowinfo = sin6.sin6_scope_id = 0;
-@@ -511,12 +516,14 @@ static void fork_passive(int socket)
-
- sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR,
- S_IRWXU | S_IRWXG, 1);
-+ printf("fork_passive - sem_open %p (%s)\n", (void *) sem, strerror(errno));
- if (sem == SEM_FAILED) {
- ret = -1;
- goto out;
- }
-
- lfd = rsocket(sin6.sin6_family, SOCK_STREAM, 0);
-+ printf("fork_passive - rsocket %d (%s)\n", lfd, strerror(errno));
- if (lfd < 0) {
- ret = lfd;
- goto sclose;
-@@ -527,6 +534,7 @@ static void fork_passive(int socket)
-
- sem_wait(sem);
- ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6);
-+ printf("fork_passive - rbind %d (%s)\n", ret, strerror(errno));
- if (ret)
- goto lclose;