diff options
author | Erlang/OTP <[email protected]> | 2019-06-17 16:50:16 +0200 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2019-06-17 16:50:16 +0200 |
commit | 53d68fe5b5513b61df58aa703f181b6fd4592d41 (patch) | |
tree | 79ea7defe5f4f0ca0dc2e479033a4a840427544d /erts | |
parent | 9127de8d0204755a7a95b674e77c6aa0583efce0 (diff) | |
parent | b0018e78e6b87b40e93760bda715ae45f0776da7 (diff) | |
download | otp-53d68fe5b5513b61df58aa703f181b6fd4592d41.tar.gz otp-53d68fe5b5513b61df58aa703f181b6fd4592d41.tar.bz2 otp-53d68fe5b5513b61df58aa703f181b6fd4592d41.zip |
Merge branch 'raimo/incomplete-socket-close/ERIERL-353/OTP-15370' into maint-21
* raimo/incomplete-socket-close/ERIERL-353/OTP-15370:
Copy linger zero flag from listen socket
Test linger zero flag from listen socket
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/drivers/common/inet_drv.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index b71ce0389d..becc04950e 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 1997-2018. All Rights Reserved. + * Copyright Ericsson AB 1997-2019. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -9846,10 +9846,8 @@ static tcp_descriptor* tcp_inet_copy(tcp_descriptor* desc,SOCKET s, copy_desc->send_timeout = desc->send_timeout; copy_desc->send_timeout_close = desc->send_timeout_close; - if (desc->tcp_add_flags & TCP_ADDF_SHOW_ECONNRESET) - copy_desc->tcp_add_flags |= TCP_ADDF_SHOW_ECONNRESET; - else - copy_desc->tcp_add_flags &= ~TCP_ADDF_SHOW_ECONNRESET; + copy_desc->tcp_add_flags = desc->tcp_add_flags + & (TCP_ADDF_SHOW_ECONNRESET | TCP_ADDF_LINGER_ZERO); /* The new port will be linked and connected to the original caller */ port = driver_create_port(port, owner, "tcp_inet", (ErlDrvData) copy_desc); |