aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/drivers/common
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2017-07-10 08:26:55 +0200
committerJohn Högberg <[email protected]>2017-07-10 08:26:55 +0200
commit9b24da12c766d15493d9c99be18f5a14498ec558 (patch)
treef939fb1a4d8327bce9fecaae12f81c96a4da6e0a /erts/emulator/drivers/common
parentda06fd040775fffee17409ebbd6fa797e34d6f99 (diff)
downloadotp-9b24da12c766d15493d9c99be18f5a14498ec558.tar.gz
otp-9b24da12c766d15493d9c99be18f5a14498ec558.tar.bz2
otp-9b24da12c766d15493d9c99be18f5a14498ec558.zip
Close TCP ports properly on send timeout
Diffstat (limited to 'erts/emulator/drivers/common')
-rw-r--r--erts/emulator/drivers/common/inet_drv.c1
1 files changed, 1 insertions, 0 deletions
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));
}
}