Version: 1
-Previous: c02b105a2d909a8edd6e0712e96120b77d3b8c78
-Head: 700cb1e575522ed9665e3bdb5150d40f1b01d478
+Previous: d63ea5ece0312cdddcb9e1e8b072bf6166beb535
+Head: 88050a624781407f5f83e4494897bb1dd482699c
Applied:
real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2
dup2: ca5813e7cf95dee5933fc417e4a34d26f2b01824
oobinline: ac51c1095f505373a6ec54b8f1d990259fb34d97
- fork-connect: 70aeb9a4107206e5814d98d8ea02e15011070735
- refresh-temp: 700cb1e575522ed9665e3bdb5150d40f1b01d478
+ fork-connect: 88050a624781407f5f83e4494897bb1dd482699c
Unapplied:
dbg-out: 04273ee712db4d53efb390462c1b738bb54a57df
fstat: a62c653906870422edef5f6388dac9f76c953e35
Bottom: 3ea2748a5c41b11a2e7033c56bddd938d2770b6c
-Top: 8e79723d04b7d3effe0d91fe456426c68892b6bb
+Top: da811bd45f316fb30abd2a28fca7900d8b0f8de6
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-08-10 21:44:39 -0700
---
diff --git a/src/preload.c b/src/preload.c
-index b18d310..9bc6c13 100644
+index b18d310..b4c319f 100644
--- a/src/preload.c
+++ b/src/preload.c
@@ -99,12 +99,20 @@ static int fork_support;
- if (ret)
- return ret;
+
-+ if (!(flags & O_NONBLOCK)) {
++ if (!(flags & O_NONBLOCK) && addr && addrlen) {
+ ret = real.connect(fd, addr, addrlen);
+ if (ret)
+ return ret;
+ if (fdi->type == fd_fork_passive)
fork_passive(index);
+ else if (fdi->type == fd_fork_active)
-+ fork_active(index); /* NEED addr, addrlen */
++ fork_active(index, NULL, 0);
*fd = fdi->fd;
return fdi->type;
+++ /dev/null
-Bottom: 8e79723d04b7d3effe0d91fe456426c68892b6bb
-Top: da811bd45f316fb30abd2a28fca7900d8b0f8de6
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-13 11:09:26 -0700
-
-Refresh of fork-connect
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index 9bc6c13..b4c319f 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -498,7 +498,7 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
- flags = real.fcntl(fd, F_GETFL);
- real.fcntl(fd, F_SETFL, 0);
-
-- if (!(flags & O_NONBLOCK)) {
-+ if (!(flags & O_NONBLOCK) && addr && addrlen) {
- ret = real.connect(fd, addr, addrlen);
- if (ret)
- return ret;
-@@ -600,7 +600,7 @@ static inline enum fd_type fd_fork_get(int index, int *fd)
- if (fdi->type == fd_fork_passive)
- fork_passive(index);
- else if (fdi->type == fd_fork_active)
-- fork_active(index); /* NEED addr, addrlen */
-+ fork_active(index, NULL, 0);
- *fd = fdi->fd;
- return fdi->type;