This is an automated email from the ASF dual-hosted git repository.

casaroli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git

commit 9076334a481798071626955297a75bb508e6f115
Author: yintao <[email protected]>
AuthorDate: Tue Dec 3 15:49:14 2024 +0800

    examples/rpmsgsocket: close the accepted socket in the stream server
    
    The stream server hands each accepted socket to rpsock_thread() and
    rpsock_recv_send_single(), but neither closes it when it is done, so
    every connection leaks a socket. Close it there. The datagram server
    runs rpsock_thread() on its own socket, so its extra close() goes.
    
    Signed-off-by: yintao <[email protected]>
---
 examples/rpmsgsocket/rpsock_server.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/examples/rpmsgsocket/rpsock_server.c 
b/examples/rpmsgsocket/rpsock_server.c
index 32d8a759f..2708711fc 100644
--- a/examples/rpmsgsocket/rpsock_server.c
+++ b/examples/rpmsgsocket/rpsock_server.c
@@ -152,6 +152,7 @@ static FAR void *rpsock_thread(FAR void *pvarg)
     }
 
   printf("server Complete ret %zd, errno %d\n", ret, errno);
+  close(args->fd);
   free(args);
   return NULL;
 }
@@ -346,6 +347,7 @@ static int rpsock_recv_send_single(FAR struct rpsock_arg_s 
*args)
 
 end:
   printf("server Complete ret %zd, errno %d\n", ret, errno);
+  close(args->fd);
   free(args);
   return -errno;
 }
@@ -536,7 +538,6 @@ static int rpsock_dgram_server(int argc, FAR char *argv[])
 
   rpsock_thread(args);
 
-  close(fd);
   return 0;
 }
 

Reply via email to