From 5c9598fb0f3f020478de95dc3c693e95282afba9 Mon Sep 17 00:00:00 2001 From: Stéphane Raimbault Date: Thu, 10 Oct 2013 19:38:44 +0200 Subject: [PATCH] Use accept4 in TCP PI if available --- src/modbus-tcp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modbus-tcp.c b/src/modbus-tcp.c index dcdb208..b2c34fe 100644 --- a/src/modbus-tcp.c +++ b/src/modbus-tcp.c @@ -664,7 +664,12 @@ int modbus_tcp_pi_accept(modbus_t *ctx, int *s) } addrlen = sizeof(addr); - ctx->s = accept(*s, (void *)&addr, &addrlen); +#ifdef HAVE_ACCEPT4 + /* Inherit socket flags and use accept4 call */ + ctx->s = accept4(*s, (struct sockaddr *)&addr, &addrlen, SOCK_CLOEXEC); +#else + ctx->s = accept(*s, (struct sockaddr *)&addr, &addrlen); +#endif if (ctx->s == -1) { close(*s); *s = -1; -- libgit2 0.21.4