A small footprint MQTT library

Dependents:   STM32F746_iothub_client_sample_mqtt FXOS8700CQ_To_Azure_IoT f767zi_mqtt FXOS8700CQ_To_Azure_IoT ... more

Revision:
16:4e4835036f27
Parent:
15:ec5a36121959
Child:
17:73ae81ce481d
--- a/mqtt_client.c	Fri Feb 24 14:01:11 2017 -0800
+++ b/mqtt_client.c	Fri Jun 02 15:53:19 2017 -0700
@@ -1106,6 +1106,7 @@
             }
             BUFFER_delete(disconnectPacket);
             clear_mqtt_options(mqtt_client);
+            mqtt_client->xioHandle = NULL;
         }
     }
     return result;
@@ -1114,8 +1115,9 @@
 void mqtt_client_dowork(MQTT_CLIENT_HANDLE handle)
 {
     MQTT_CLIENT* mqtt_client = (MQTT_CLIENT*)handle;
+    /*Codes_SRS_MQTT_CLIENT_18_001: [If the client is disconnected, mqtt_client_dowork shall do nothing.]*/
     /*Codes_SRS_MQTT_CLIENT_07_023: [If the parameter handle is NULL then mqtt_client_dowork shall do nothing.]*/
-    if (mqtt_client != NULL)
+    if (mqtt_client != NULL && mqtt_client->xioHandle != NULL)
     {
         /*Codes_SRS_MQTT_CLIENT_07_024: [mqtt_client_dowork shall call the xio_dowork function to complete operations.]*/
         xio_dowork(mqtt_client->xioHandle);