diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2009-09-14 15:12:43 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2009-09-15 21:26:41 -0400 |
commit | 1ea043ed2df31522c670b6bfba8cf1c9537ce61e (patch) | |
tree | ef4ecc009be4ecedb16a91dcaeb0f3490535a890 /src/vtestream-file.h | |
parent | 68cce180dd903aacbbec11dca8f89be0cf278e92 (diff) | |
download | vte-1ea043ed2df31522c670b6bfba8cf1c9537ce61e.tar.gz |
[stream] Handle eof situation
Diffstat (limited to 'src/vtestream-file.h')
-rw-r--r-- | src/vtestream-file.h | 5 |
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; } |