|
@@ -728,6 +728,7 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
|
|
|
|
|
|
int len;
|
|
int len;
|
|
int sbsize;
|
|
int sbsize;
|
|
|
|
+ int evapi_send_count;
|
|
evapi_msg_t *emsg;
|
|
evapi_msg_t *emsg;
|
|
|
|
|
|
LM_DBG("relaying event data [%.*s] (%d)\n",
|
|
LM_DBG("relaying event data [%.*s] (%d)\n",
|
|
@@ -781,7 +782,12 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
|
|
cfg_update();
|
|
cfg_update();
|
|
LM_DBG("dispatching [%p] [%.*s] (%d)\n", emsg,
|
|
LM_DBG("dispatching [%p] [%.*s] (%d)\n", emsg,
|
|
emsg->data.len, emsg->data.s, emsg->data.len);
|
|
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);
|
|
shm_free(emsg);
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|