summaryrefslogtreecommitdiff
path: root/src/vtestream-file.h
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2009-09-14 15:12:43 -0400
committerBehdad Esfahbod <behdad@behdad.org>2009-09-15 21:26:41 -0400
commit1ea043ed2df31522c670b6bfba8cf1c9537ce61e (patch)
treeef4ecc009be4ecedb16a91dcaeb0f3490535a890 /src/vtestream-file.h
parent68cce180dd903aacbbec11dca8f89be0cf278e92 (diff)
downloadvte-1ea043ed2df31522c670b6bfba8cf1c9537ce61e.tar.gz
[stream] Handle eof situation
Diffstat (limited to 'src/vtestream-file.h')
-rw-r--r--src/vtestream-file.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vtestream-file.h b/src/vtestream-file.h
index 160915e3..e2a407db 100644
--- a/src/vtestream-file.h
+++ b/src/vtestream-file.h
@@ -31,12 +31,15 @@ _xread (int fd, char *data, gsize len)
while (len) {
ret = read (fd, data, len);
+ g_message ("%d %d", len, ret);
if (G_UNLIKELY (ret == (gsize) -1)) {
if (errno == EINTR)
continue;
else
break;
}
+ if (G_UNLIKELY (ret == 0))
+ break;
data += ret;
len -= ret;
total += ret;
@@ -59,6 +62,8 @@ _xwrite (int fd, const char *data, gsize len)
else
break;
}
+ if (G_UNLIKELY (ret == 0))
+ break;
data += ret;
len -= ret;
}