x0 icon indicating copy to clipboard operation
x0 copied to clipboard

Fixes related to TcpConnector and TcpEndPoint

Open pjsaksa opened this issue 5 years ago • 1 comments

When TcpEndPoint was closed because of read timeout, TcpConnector::onEndPointClosed() was called repeatedly resulting to mutex deadlock.

Tested with hello_http:

  • run hello_http
  • open connection with netcat/socat without sending any data
  • wait 60 seconds
  • hello_http becomes unresponsive

pjsaksa avatar May 03 '20 17:05 pjsaksa

I bundled another bugfix from the same area of code to this PR:

When TcpConnector is destroyed and it deallocates its list of endpoints, those endpoints call TcpConnector::onEndPointClosed() with bad results. This callback should be deactivated during the destruction of TcpConnector.

pjsaksa avatar May 06 '20 14:05 pjsaksa