summaryrefslogtreecommitdiffstats
path: root/src/socket_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/socket_wrapper.c')
-rw-r--r--src/socket_wrapper.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c
index d7525f8..d352291 100644
--- a/src/socket_wrapper.c
+++ b/src/socket_wrapper.c
@@ -2109,6 +2109,10 @@ static int swrap_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
ret = libc_accept(s, (struct sockaddr *)(void *)&un_addr, &un_addrlen);
if (ret == -1) {
+ if (errno == ENOTSOCK) {
+ /* Remove stale fds */
+ swrap_remove_stale(s);
+ }
free(my_addr);
return ret;
}