Sockets: Properly handle POLLHUP events

Stops client socket leaking.
This commit is contained in:
Stenzek
2024-07-21 14:22:55 +10:00
parent 6b78364eab
commit 78800870bc
2 changed files with 35 additions and 4 deletions

View File

@ -79,6 +79,7 @@ public:
protected:
virtual void OnReadEvent() = 0;
virtual void OnWriteEvent() = 0;
virtual void OnHangupEvent() = 0;
SocketMultiplexer& m_multiplexer;
SocketDescriptor m_descriptor;
@ -194,6 +195,7 @@ public:
protected:
void OnReadEvent() override final;
void OnWriteEvent() override final;
void OnHangupEvent() override final;
private:
SocketMultiplexer::CreateStreamSocketCallback m_accept_callback;
@ -231,6 +233,7 @@ protected:
virtual void OnReadEvent() override;
virtual void OnWriteEvent() override;
virtual void OnHangupEvent() override;
void CloseWithError();