Skip to content

Commit b47eb52

Browse files
authored
Merge pull request #50 from windniw/windniw/20200811/bugfix/block_in_read_empty_body
Bugfix: fix client request hang, for response body empty.
2 parents 2873753 + 5d5e6dc commit b47eb52

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/sync/channel.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ fn read_count(fd: RawFd, count: usize) -> Result<Vec<u8>> {
2525
let mut v: Vec<u8> = vec![0; count];
2626
let mut len = 0;
2727

28+
if count == 0 {
29+
return Ok(v.to_vec())
30+
}
31+
2832
loop {
2933
match recv(fd, &mut v[len..], MsgFlags::empty()) {
3034
Ok(l) => {
@@ -49,6 +53,10 @@ fn read_count(fd: RawFd, count: usize) -> Result<Vec<u8>> {
4953
fn write_count(fd: RawFd, buf: &[u8], count: usize) -> Result<usize> {
5054
let mut len = 0;
5155

56+
if count == 0 {
57+
return Ok(0)
58+
}
59+
5260
loop {
5361
match send(fd, &buf[len..], MsgFlags::empty()) {
5462
Ok(l) => {

0 commit comments

Comments
 (0)