From 48daac0a888f39601bb714bd4f4f78b69e224d69 Mon Sep 17 00:00:00 2001 From: Hans Nilsson Date: Mon, 1 Oct 2018 15:24:49 +0200 Subject: eldap: Fix race at socket close --- lib/eldap/src/eldap.erl | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'lib/eldap') diff --git a/lib/eldap/src/eldap.erl b/lib/eldap/src/eldap.erl index 625309271b..5b4cbe5b98 100644 --- a/lib/eldap/src/eldap.erl +++ b/lib/eldap/src/eldap.erl @@ -957,10 +957,19 @@ do_modify_dn_0(Data, Entry, NewRDN, DelOldRDN, NewSup, Controls) -> do_unbind(Data) -> Req = "", log2(Data, "unbind request = ~p (has no reply)~n", [Req]), - send_request(Data#eldap.fd, Data, Data#eldap.id, {unbindRequest, Req}), case Data#eldap.using_tls of - true -> ssl:close(Data#eldap.fd); - false -> gen_tcp:close(Data#eldap.fd) + true -> + send_request(Data#eldap.fd, Data, Data#eldap.id, {unbindRequest, Req}), + ssl:close(Data#eldap.fd); + false -> + OldTrapExit = process_flag(trap_exit, true), + catch send_request(Data#eldap.fd, Data, Data#eldap.id, {unbindRequest, Req}), + catch gen_tcp:close(Data#eldap.fd), + receive + {'EXIT', _From, _Reason} -> ok + after 0 -> ok + end, + process_flag(trap_exit, OldTrapExit) end, {no_reply, Data#eldap{binddn = (#eldap{})#eldap.binddn, passwd = (#eldap{})#eldap.passwd, -- cgit v1.2.3 From 218f84f6b7cca496d3100fcb3ba1b3f7fa2fc1ac Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Fri, 12 Oct 2018 17:12:09 +0200 Subject: Prepare release --- lib/eldap/doc/src/notes.xml | 16 ++++++++++++++++ lib/eldap/vsn.mk | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'lib/eldap') diff --git a/lib/eldap/doc/src/notes.xml b/lib/eldap/doc/src/notes.xml index 07c2b0a3e8..b390e0c047 100644 --- a/lib/eldap/doc/src/notes.xml +++ b/lib/eldap/doc/src/notes.xml @@ -31,6 +31,22 @@

This document describes the changes made to the Eldap application.

+
Eldap 1.2.6 + +
Fixed Bugs and Malfunctions + + +

+ A race condition at close could cause the eldap client to + exit with a badarg message as cause.

+

+ Own Id: OTP-15342 Aux Id: ERIERL-242

+
+
+
+ +
+
Eldap 1.2.5
Fixed Bugs and Malfunctions diff --git a/lib/eldap/vsn.mk b/lib/eldap/vsn.mk index 6e8951aba4..6d541e4689 100644 --- a/lib/eldap/vsn.mk +++ b/lib/eldap/vsn.mk @@ -1 +1 @@ -ELDAP_VSN = 1.2.5 +ELDAP_VSN = 1.2.6 -- cgit v1.2.3