From 7bf44e951ce5750f76278b1ac262e4d2ea5b7ad3 Mon Sep 17 00:00:00 2001 From: Thad House Date: Tue, 16 Aug 2016 23:32:13 -0700 Subject: [PATCH] Fixes server side polled rpcs (#96) --- src/RpcServer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/RpcServer.cpp b/src/RpcServer.cpp index 76baef6969..ad107cd3f0 100644 --- a/src/RpcServer.cpp +++ b/src/RpcServer.cpp @@ -82,7 +82,12 @@ bool RpcServer::PollRpc(bool blocking, double time_out, RpcCallInfo* call_info) } auto& item = m_poll_queue.front(); - unsigned int call_uid = (item.conn_id << 16) | item.msg->seq_num_uid(); + unsigned int call_uid; + // do not include conn id if the result came from the server + if (item.conn_id != 0xffff) + call_uid = (item.conn_id << 16) | item.msg->seq_num_uid(); + else + call_uid = item.msg->seq_num_uid(); call_info->rpc_id = item.msg->id(); call_info->call_uid = call_uid; call_info->name = std::move(item.name);