summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gisi/client.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gisi/client.c b/gisi/client.c
index e5af0644..fa40f0c7 100644
--- a/gisi/client.c
+++ b/gisi/client.c
@@ -560,8 +560,13 @@ static void g_isi_dispatch_response(GIsiClient *client, uint16_t obj,
unsigned id = msg[0];
ret = tfind(&id, &client->reqs.pending, g_isi_cmp);
- if (!ret)
+ if (!ret) {
+ /* This could either be an unsolicited response, which
+ * we will ignore, or an incoming request, which we
+ * handle just like an incoming indication */
+ g_isi_dispatch_indication(client, obj, msg + 1, len - 1);
return;
+ }
req = *(GIsiRequest **)ret;