diff --git a/repos/libports/src/lib/libc/socket_fs_plugin.cc b/repos/libports/src/lib/libc/socket_fs_plugin.cc index e9074d727f..f5b9b49ed7 100644 --- a/repos/libports/src/lib/libc/socket_fs_plugin.cc +++ b/repos/libports/src/lib/libc/socket_fs_plugin.cc @@ -236,7 +236,11 @@ struct Libc::Socket_fs::Context : Plugin_context ~Context() { - _fd_apply([] (int fd) { ::close(fd); }); + for (unsigned i = 0; i < Fd::MAX; ++i) { + ::close(_fd[i].num); + _fd[i].num = -1; + _fd[i].file = nullptr; + } ::close(_handle_fd); }