Version: 1
-Previous: 7b44dd94bfe39fde10cc89237bf0894fb01c485c
-Head: 612882f8ecb7d3e93f89385bd1292f063b0609b1
+Previous: 9e9a4ee882465cf726c0bcaf2fb594c91027b080
+Head: 41573d66880906ea1f2a0c546acadb15eb21b17b
Applied:
- dsocket: bc7d39b5bd7e376900e5b0d0024e5b9a521697c7
- refresh-temp: 612882f8ecb7d3e93f89385bd1292f063b0609b1
+ dsocket: 41573d66880906ea1f2a0c546acadb15eb21b17b
Unapplied:
udpong: a003dda8e0d2f6ea134932bdd8bf5a5f29b7bfce
test-udp: f6c78ad2a26f452cf166aff1baa7b76160bd8bf7
Bottom: 1fa07c62817ac4b6cb8d9c5e327ea2cdc75dbd21
-Top: 89a1bd159135ab5aae205202e62cdc91b9ab3b0d
+Top: 8d2f75897b59b2230d826c1aa131f191ac2a54cb
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-11-09 10:26:38 -0800
{
errno = err;
diff --git a/src/rsocket.c b/src/rsocket.c
-index a060f66..219aa4a 100644
+index a060f66..42a28d2 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
@@ -47,6 +47,8 @@
- return ERR(EISCONN);
+ struct rsocket *rs;
+ int ret;
-
-- return rsend(socket, buf, len, flags);
++
+ rs = idm_at(&idm, socket);
+ if (rs->type == SOCK_STREAM) {
+ if (dest_addr || addrlen)
+ if (ret)
+ goto out;
+ }
-+
+
+- return rsend(socket, buf, len, flags);
+ ret = dsend(rs, buf, len, flags);
+out:
+ fastlock_release(&rs->slock);
}
if (rs->state == rs_listening) {
-@@ -1766,11 +2827,14 @@ static int rs_poll_arm(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
+@@ -1766,18 +2827,21 @@ static int rs_poll_arm(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
if (fds[i].revents)
return 1;
+ else
+ rfds[i].fd = rs->cm_id->channel->fd;
+ } else {
++ printf("%s ready to poll epfd\n", __func__);
+ rfds[i].fd = rs->epfd;
+ }
rfds[i].events = POLLIN;
} else {
rfds[i].fd = fds[i].fd;
+ rfds[i].events = fds[i].events;
+ }
+ rfds[i].revents = 0;
+-
+ }
+ return 0;
+ }
@@ -1793,7 +2857,10 @@ static int rs_poll_events(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
rs = idm_lookup(&idm, fds[i].fd);
fds[i].revents = rs_poll_rs(rs, fds[i].events, 1, rs_poll_all);
} else {
fds[i].revents = rfds[i].revents;
+@@ -1839,7 +2906,7 @@ int rpoll(struct pollfd *fds, nfds_t nfds, int timeout)
+ if (ret)
+ break;
+
+- ret = poll(rfds, nfds, timeout);
++ ret = poll(rfds, nfds, timeout ? 10000 : 0);
+ if (ret <= 0)
+ break;
+
@@ -1949,7 +3016,7 @@ int rshutdown(int socket, int how)
rs = idm_at(&idm, socket);
+++ /dev/null
-Bottom: 89a1bd159135ab5aae205202e62cdc91b9ab3b0d
-Top: 8d2f75897b59b2230d826c1aa131f191ac2a54cb
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-12-18 14:58:18 -0800
-
-Refresh of dsocket
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 219aa4a..42a28d2 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -2833,6 +2833,7 @@ static int rs_poll_arm(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
- else
- rfds[i].fd = rs->cm_id->channel->fd;
- } else {
-+ printf("%s ready to poll epfd\n", __func__);
- rfds[i].fd = rs->epfd;
- }
- rfds[i].events = POLLIN;
-@@ -2841,7 +2842,6 @@ static int rs_poll_arm(struct pollfd *rfds, struct pollfd *fds, nfds_t nfds)
- rfds[i].events = fds[i].events;
- }
- rfds[i].revents = 0;
--
- }
- return 0;
- }
-@@ -2906,7 +2906,7 @@ int rpoll(struct pollfd *fds, nfds_t nfds, int timeout)
- if (ret)
- break;
-
-- ret = poll(rfds, nfds, timeout);
-+ ret = poll(rfds, nfds, timeout ? 10000 : 0);
- if (ret <= 0)
- break;