From 9b24da12c766d15493d9c99be18f5a14498ec558 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20H=C3=B6gberg?= <john@erlang.org>
Date: Mon, 10 Jul 2017 08:26:55 +0200
Subject: Close TCP ports properly on send timeout

---
 erts/emulator/drivers/common/inet_drv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index ebd13e6f05..d87fa3f268 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -9516,6 +9516,7 @@ static void tcp_inet_timeout(ErlDrvData e)
 	    set_busy_port(desc->inet.port, 0);
 	    inet_reply_error_am(INETP(desc), am_timeout);
 	    if (desc->send_timeout_close) {
+                tcp_clear_output(desc);
 		erl_inet_close(INETP(desc));
 	    }
 	}
-- 
cgit v1.2.3