Module: kamailio
Branch: master
Commit: 93d4b03ecd666f5320f71148a0c52abb4526fb43
URL: 
https://github.com/kamailio/kamailio/commit/93d4b03ecd666f5320f71148a0c52abb4526fb43

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2026-02-25T15:54:14+01:00

evapi: add 200ms timeout for sending task pointer internally

- GH #4603

---

Modified: src/modules/evapi/evapi_dispatch.c
Modified: src/modules/evapi/evapi_dispatch.h

---

Diff:  
https://github.com/kamailio/kamailio/commit/93d4b03ecd666f5320f71148a0c52abb4526fb43.diff
Patch: 
https://github.com/kamailio/kamailio/commit/93d4b03ecd666f5320f71148a0c52abb4526fb43.patch

---

diff --git a/src/modules/evapi/evapi_dispatch.c 
b/src/modules/evapi/evapi_dispatch.c
index 60060f22568..e8e099eedd7 100644
--- a/src/modules/evapi/evapi_dispatch.c
+++ b/src/modules/evapi/evapi_dispatch.c
@@ -29,6 +29,7 @@
 #include <sys/types.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
+#include <sys/time.h>
 #include <fcntl.h>
 
 #include <ev.h>
@@ -902,6 +903,7 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
        int len;
        int sbsize;
        evapi_msg_t *emsg;
+       struct timeval tv;
 
        LM_DBG("relaying event data [%.*s] (%d)\n", evdata->len, evdata->s,
                        evdata->len);
@@ -943,6 +945,10 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
        LM_DBG("sending [%p] [%.*s] (%d)\n", (void *)emsg, emsg->data.len,
                        emsg->data.s, emsg->data.len);
        if(_evapi_notify_sockets[1] != -1) {
+               tv.tv_sec = EAVPI_TASK_SEND_TIMEOUT_US / 1000000;
+               tv.tv_usec = EAVPI_TASK_SEND_TIMEOUT_US % 1000000;
+               setsockopt(_evapi_notify_sockets[1], SOL_SOCKET, SO_SNDTIMEO, 
&tv,
+                               sizeof(struct timeval));
                len = write(_evapi_notify_sockets[1], &emsg, sizeof(evapi_msg_t 
*));
                if(len <= 0) {
                        shm_free(emsg);
diff --git a/src/modules/evapi/evapi_dispatch.h 
b/src/modules/evapi/evapi_dispatch.h
index 936d0c71140..37d7c088c30 100644
--- a/src/modules/evapi/evapi_dispatch.h
+++ b/src/modules/evapi/evapi_dispatch.h
@@ -25,6 +25,8 @@
 
 #include "../../core/pvar.h"
 
+#define EAVPI_TASK_SEND_TIMEOUT_US 200000
+
 int evapi_init_notify_sockets(void);
 
 void evapi_close_notify_sockets_child(void);

_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to