Commit 5c9598fb0f3f020478de95dc3c693e95282afba9
1 parent
2076d11f
Use accept4 in TCP PI if available
Showing
1 changed file
with
6 additions
and
1 deletions
src/modbus-tcp.c
| @@ -664,7 +664,12 @@ int modbus_tcp_pi_accept(modbus_t *ctx, int *s) | @@ -664,7 +664,12 @@ int modbus_tcp_pi_accept(modbus_t *ctx, int *s) | ||
| 664 | } | 664 | } |
| 665 | 665 | ||
| 666 | addrlen = sizeof(addr); | 666 | addrlen = sizeof(addr); |
| 667 | - ctx->s = accept(*s, (void *)&addr, &addrlen); | 667 | +#ifdef HAVE_ACCEPT4 |
| 668 | + /* Inherit socket flags and use accept4 call */ | ||
| 669 | + ctx->s = accept4(*s, (struct sockaddr *)&addr, &addrlen, SOCK_CLOEXEC); | ||
| 670 | +#else | ||
| 671 | + ctx->s = accept(*s, (struct sockaddr *)&addr, &addrlen); | ||
| 672 | +#endif | ||
| 668 | if (ctx->s == -1) { | 673 | if (ctx->s == -1) { |
| 669 | close(*s); | 674 | close(*s); |
| 670 | *s = -1; | 675 | *s = -1; |