diff options
author | Laszlo Ersek <lersek@redhat.com> | 2013-07-16 20:19:40 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-07-18 11:22:56 -0500 |
commit | ac8c26f633b01bb32cdf347f9dbd5a80c6712925 (patch) | |
tree | 37a4d6becbd45b50864e15cdb72d2ab7eb597c8c /monitor.c | |
parent | 0d185e638861bd9b05b2abb43774a368cadabd38 (diff) |
char: io_channel_send: don't lose written bytes
The g_io_channel_write_chars() documentation states,
bytes_written: The number of bytes written. This can be nonzero even if
the return value is not G_IO_STATUS_NORMAL. [...]
io_channel_send() could lose such bytes before.
Furthermore, the (status == G_IO_STATUS_EOF) condition used to evaluate to
constant false whenever it was reached. When that condition actually held,
it always led to -1 / EINVAL. This patch (almost) distinguishes
G_IO_STATUS_EOF only when no bytes have been written, and then treats it
as an error.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Amit Shah <amit.shah@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Message-id: 1373998781-29561-2-git-send-email-lersek@redhat.com
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'monitor.c')
0 files changed, 0 insertions, 0 deletions