Version: 1
-Previous: 99dd7dffd55f4940e09e4a4fbe1733d9d6aab8e5
-Head: 4944311d671449dea432f191bb92b6214e9941ee
+Previous: c5c0c4355c415d2dbf2188d438051dcf421b9d84
+Head: d7cda32bb4b602342b191888d2b9f861b2592ec9
Applied:
real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2
dup2: ca5813e7cf95dee5933fc417e4a34d26f2b01824
fork-connect: a50a83fb4e574a2cc435bba1abf6f9df3d0cc7a6
sendfile: 9073427ddddfa2f7c93d0ac4a6da9844cb7d2960
fstat: a957d5786c30dfb1da9cf9345e4a639f6006fbda
- waitall-buggy: e25feca85b5309386f87c67d9cc5a74610205d39
- refresh-temp: 4944311d671449dea432f191bb92b6214e9941ee
+ waitall-buggy: d7cda32bb4b602342b191888d2b9f861b2592ec9
Unapplied:
dbg-out: 4b4c0572eab77856d8fbb919b1feb8f3502a101a
dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6
+++ /dev/null
-Bottom: a382695e2987cbd0d5a442f0e357413683b8c1df
-Top: 0c97026b5f690fd1e2693e9f9c63549fc3e00f00
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-16 15:04:24 -0700
-
-Refresh of waitall-buggy
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 2edd44e..4c4821b 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -1171,7 +1171,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
- rs->rbuf_bytes_avail += rsize;
- }
-
-- } while ((flags & MSG_WAITALL) && (rs->state & rs_connect_rd) && left);
-+ } while (left && (flags & MSG_WAITALL) && (rs->state & rs_connect_rd));
-
- fastlock_release(&rs->rlock);
- return ret ? ret : len - left;
Bottom: 3f4ba48a611f719563dc773a1c33fbd391708df0
-Top: a382695e2987cbd0d5a442f0e357413683b8c1df
+Top: 0c97026b5f690fd1e2693e9f9c63549fc3e00f00
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-06-28 11:34:38 -0700
---
diff --git a/src/rsocket.c b/src/rsocket.c
-index 996cb2f..2edd44e 100644
+index 996cb2f..4c4821b 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
@@ -1131,43 +1131,48 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
- rs->rbuf_bytes_avail += len - left;
-out:
+
-+ } while ((flags & MSG_WAITALL) && (rs->state & rs_connect_rd) && left);
++ } while (left && (flags & MSG_WAITALL) && (rs->state & rs_connect_rd));
+
fastlock_release(&rs->rlock);
return ret ? ret : len - left;