]> granicus.if.org Git - icinga2/commit
Fix hanging API connections
authorSimon Murray <spjmurray@yahoo.co.uk>
Tue, 21 Jun 2016 14:46:53 +0000 (15:46 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Wed, 22 Jun 2016 07:25:00 +0000 (09:25 +0200)
commite3645aa2f7a36355e92eb2d4e6c6b5001c085fa4
tree31db5e1c1da1ef35c3c0868544d38e9090d785ea
parentba24f7b912e750c3dca12b5b5bfab917bef0dfe2
Fix hanging API connections

There was a problem identified where an upstream API connection was found hanging waiting
for a TLS handshake to complete.  Seeingly the TCP connection was ESTABLISHED locally but
not cleanly terminated remotely.  The Socket events layer never triggered the TLS handshake
oddly.  This however enables TCP keep alive packets to detect broken connections, raising
EPOLLERR and breaking the deadlock condition so that the agent will attempt to reconnect
at a later time.

fixes #12003

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>
lib/base/tcpsocket.cpp