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!
