Version: 1
-Previous: 0c7bb2eb056a48750ad300a27d687c06ade45d35
-Head: 6bb438e80dd6dee5ab2d84cd9c9f47f0f9b0c4a1
+Previous: 4e5c57375b9fc02d719ebf4e2ca1bfe40d1cb81c
+Head: 3226b1f523058674e3040ef4d3e19b58d71300a6
Applied:
real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2
dup2: ca5813e7cf95dee5933fc417e4a34d26f2b01824
sendfile: 9073427ddddfa2f7c93d0ac4a6da9844cb7d2960
fstat: a957d5786c30dfb1da9cf9345e4a639f6006fbda
waitall-buggy: 6bb438e80dd6dee5ab2d84cd9c9f47f0f9b0c4a1
+ refresh-temp: 3226b1f523058674e3040ef4d3e19b58d71300a6
Unapplied:
dbg-out: 4b4c0572eab77856d8fbb919b1feb8f3502a101a
dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6
--- /dev/null
+Bottom: f0b4d530a7758f20a79b3abc8f27419ecb1fc961
+Top: 82b0aedfaff9c5dc6df2e8b45d95f760cc338281
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2012-08-16 14:23:58 -0700
+
+Refresh of waitall-buggy
+
+---
+
+diff --git a/src/rsocket.c b/src/rsocket.c
+index 13fd0da..8c9e847 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -1143,7 +1143,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
+ if (flags & MSG_PEEK) {
+ // fixme or will peek same data in waitall loop
+ left -= rs_peek(rs, &buf, left);
+- continue;
++ break;
+ }
+
+ for (; left && rs_have_rdata(rs); left -= rsize) {
+@@ -1164,12 +1164,13 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
+ buf += end_size;
+ rsize -= end_size;
+ left -= end_size;
++ rs->rbuf_bytes_avail += end_size;
+ }
+ memcpy(buf, &rs->rbuf[rs->rbuf_offset], rsize);
+ rs->rbuf_offset += rsize;
+ buf += rsize;
++ rs->rbuf_bytes_avail += rsize;
+ }
+- rs->rbuf_bytes_avail += len - left; // <- fixme in waitall loop
+
+ } while ((flags & MSG_WAITALL) && (rs->state & rs_connect_rd) && left);