evapi:return code and log fixed for no evapi client while sending 2013/head
authorSurendra Tiwari <surendratiwari3@gmail.com>
Fri, 19 Jul 2019 07:37:32 +0000 (13:07 +0530)
committerSurendra Tiwari <surendratiwari3@gmail.com>
Fri, 19 Jul 2019 07:37:32 +0000 (13:07 +0530)
src/modules/evapi/evapi_dispatch.c

index 5b7d534..353dc95 100644 (file)
@@ -728,6 +728,7 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
 
        int len;
        int sbsize;
+       int evapi_send_count;
        evapi_msg_t *emsg;
 
        LM_DBG("relaying event data [%.*s] (%d)\n",
@@ -781,7 +782,12 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
                cfg_update();
                LM_DBG("dispatching [%p] [%.*s] (%d)\n", emsg,
                                emsg->data.len, emsg->data.s, emsg->data.len);
-               evapi_dispatch_notify(emsg);
+               evapi_send_count = evapi_dispatch_notify(emsg);
+                if (evapi_send_count == 0) {
+                       shm_free(emsg); 
+                       LM_ERR("no evapi client to send the message, failed to send message\n");
+                       return -1; 
+               }
                shm_free(emsg);
        }
        return 0;