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

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2025-04-23T21:04:08+02:00

jsonrpcs: reworked closing tcp socket

---

Modified: src/modules/jsonrpcs/jsonrpcs_sock.c

---

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

---

diff --git a/src/modules/jsonrpcs/jsonrpcs_sock.c 
b/src/modules/jsonrpcs/jsonrpcs_sock.c
index 366569ea3d9..ebd040e6509 100644
--- a/src/modules/jsonrpcs/jsonrpcs_sock.c
+++ b/src/modules/jsonrpcs/jsonrpcs_sock.c
@@ -830,6 +830,9 @@ int jsonrpc_tcp_process(void)
        LM_DBG("waiting for client connections\n");
        while(1) {
                cfg_update();
+               if(csock >= 0) {
+                       close(csock);
+               }
                csock = accept(
                                _jsonrpc_tcp_address.tsock, (struct sockaddr 
*)&caddr, &clen);
 
@@ -845,12 +848,10 @@ int jsonrpc_tcp_process(void)
                n = read(csock, jsonrpc_tcp_buf, JSONRPC_DGRAM_BUF_SIZE - 1);
                if(n < 0) {
                        LM_ERR("failed reading from tcp socket\n");
-                       close(csock);
                        continue;
                }
                if(n == 0) {
                        LM_DBG("no data received\n");
-                       close(csock);
                        continue;
                }
                LM_DBG("data received - size: %d\n", n);
@@ -892,7 +893,6 @@ int jsonrpc_tcp_process(void)
                        if(n < 0) {
                                LM_ERR("failed to send the response\n");
                        }
-                       close(csock);
                        continue;
                }
 
@@ -900,7 +900,6 @@ int jsonrpc_tcp_process(void)
                if(n < 0) {
                        LM_ERR("failed to send the response\n");
                }
-               close(csock);
        }
 
        return 0;

_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to