summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-10-13 18:33:01 +0200
committerAleksander Morgado <aleksander@aleksander.es>2014-10-13 18:33:28 +0200
commitb7a503788fe2ef9f7cc1b9b413941cb0a409b9fa (patch)
tree173046348b5eff959d7ef0f6aa6b2a969f26db12
parenteeb6ba94f89a6f1014727240feb3095ac670889a (diff)
downloadlibqmi-aleksander/virtual.tar.gz
libqmi-glib,device: ignore HUPs in memory streamsaleksander/virtual
-rw-r--r--src/libqmi-glib/qmi-device.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libqmi-glib/qmi-device.c b/src/libqmi-glib/qmi-device.c
index b7b85939..753f47f5 100644
--- a/src/libqmi-glib/qmi-device.c
+++ b/src/libqmi-glib/qmi-device.c
@@ -1375,6 +1375,12 @@ input_ready_cb (GInputStream *istream,
}
if (r == 0) {
+ /* When the istream comes from a memory stream (e.g. see QmiDeviceVirtual),
+ * avoid triggering a HUP if no data read. An empty memory stream is
+ * already in EOF/HUP state, we just need to keep on waiting. */
+ if (G_IS_MEMORY_INPUT_STREAM (istream))
+ return TRUE;
+
/* HUP! */
g_warning ("Cannot read from istream: connection broken");
return FALSE;