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 | 664 | } |
| 665 | 665 | |
| 666 | 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 | 673 | if (ctx->s == -1) { |
| 669 | 674 | close(*s); |
| 670 | 675 | *s = -1; | ... | ... |