Commit 6fa19a82 authored by Ian Craggs's avatar Ian Craggs

Take account of not finding a response in writeComplete #385

parent e18db33e
...@@ -1080,23 +1080,25 @@ static void MQTTAsync_writeComplete(int socket) ...@@ -1080,23 +1080,25 @@ static void MQTTAsync_writeComplete(int socket)
break; break;
} }
if (cur_response && command->onSuccess) if (cur_response) /* we found a response */
{ {
MQTTAsync_successData data; if (command->onSuccess)
{
data.token = command->token; MQTTAsync_successData data;
data.alt.pub.destinationName = command->details.pub.destinationName;
data.alt.pub.message.payload = command->details.pub.payload; data.token = command->token;
data.alt.pub.message.payloadlen = command->details.pub.payloadlen; data.alt.pub.destinationName = command->details.pub.destinationName;
data.alt.pub.message.qos = command->details.pub.qos; data.alt.pub.message.payload = command->details.pub.payload;
data.alt.pub.message.retained = command->details.pub.retained; data.alt.pub.message.payloadlen = command->details.pub.payloadlen;
Log(TRACE_MIN, -1, "Calling publish success for client %s", m->c->clientID); data.alt.pub.message.qos = command->details.pub.qos;
(*(command->onSuccess))(command->context, &data); data.alt.pub.message.retained = command->details.pub.retained;
Log(TRACE_MIN, -1, "Calling publish success for client %s", m->c->clientID);
(*(command->onSuccess))(command->context, &data);
}
ListDetach(m->responses, com);
MQTTAsync_freeCommand(com);
} }
m->pending_write = NULL; m->pending_write = NULL;
ListDetach(m->responses, com);
MQTTAsync_freeCommand(com);
} }
} }
FUNC_EXIT; FUNC_EXIT;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment