Browse Source

Kernel: Don't put closed/listener sockets into the closing_sockets list

Gunnar Beutner 4 years ago
parent
commit
866e577f1d
1 changed files with 4 additions and 2 deletions
  1. 4 2
      Kernel/Net/TCPSocket.cpp

+ 4 - 2
Kernel/Net/TCPSocket.cpp

@@ -471,8 +471,10 @@ KResult TCPSocket::close()
         set_state(State::LastAck);
     }
 
-    Locker locker(closing_sockets().lock());
-    closing_sockets().resource().set(tuple(), *this);
+    if (state() != State::Closed && state() != State::Listen) {
+        Locker locker(closing_sockets().lock());
+        closing_sockets().resource().set(tuple(), *this);
+    }
     return result;
 }