diff options
Diffstat (limited to 'lib/inets/src')
| -rw-r--r-- | lib/inets/src/http_client/httpc_handler.erl | 16 | ||||
| -rw-r--r-- | lib/inets/src/http_client/httpc_manager.erl | 9 | ||||
| -rw-r--r-- | lib/inets/src/http_lib/http_transport.erl | 9 | ||||
| -rw-r--r-- | lib/inets/src/inets_app/inets.appup.src | 10 | 
4 files changed, 34 insertions, 10 deletions
| diff --git a/lib/inets/src/http_client/httpc_handler.erl b/lib/inets/src/http_client/httpc_handler.erl index 8af6613fa2..fa47ca25db 100644 --- a/lib/inets/src/http_client/httpc_handler.erl +++ b/lib/inets/src/http_client/httpc_handler.erl @@ -854,12 +854,18 @@ connect(SocketType, ToAddress,  	inet6fb4 ->  	    Opts3 = [inet6 | Opts2],  	    case http_transport:connect(SocketType, ToAddress, Opts3, Timeout) of -		{error, Reason} when ((Reason =:= nxdomain) orelse  -				      (Reason =:= eafnosupport)) ->  +		{error, _Reason} = Error ->  		    Opts4 = [inet | Opts2],  -		    http_transport:connect(SocketType, ToAddress, Opts4, Timeout); -		Other -> -		    Other +		    case http_transport:connect(SocketType,  +						ToAddress, Opts4, Timeout) of +			{error, _} -> +			    %% Reply with the "original" error +			    Error; +			OK -> +			    OK +		    end; +		OK -> +		    OK  	    end;  	_ ->  	    Opts3 = [IpFamily | Opts2],  diff --git a/lib/inets/src/http_client/httpc_manager.erl b/lib/inets/src/http_client/httpc_manager.erl index 1e1bde220b..591cb78c29 100644 --- a/lib/inets/src/http_client/httpc_manager.erl +++ b/lib/inets/src/http_client/httpc_manager.erl @@ -734,10 +734,11 @@ handle_connect_and_send(_StarterPid, ReqId, HandlerPid, Result,  	    ok;  	[] -> -	    error_report(Profile,  -			 "handler (~p) successfully started " -			 "for unknown request ~p => canceling", -			 [HandlerPid, ReqId]), +	    ?hcri("handler successfully started " +		  "for unknown request => canceling", +		  [{profile, Profile},  +		   {handler, HandlerPid},  +		   {request, ReqId}]),  	    httpc_handler:cancel(ReqId, HandlerPid)      end. diff --git a/lib/inets/src/http_lib/http_transport.erl b/lib/inets/src/http_lib/http_transport.erl index b8121852b8..0024d19fc1 100644 --- a/lib/inets/src/http_lib/http_transport.erl +++ b/lib/inets/src/http_lib/http_transport.erl @@ -192,24 +192,31 @@ listen_ip_comm(Addr, Port) ->      case IpFamily of  	inet6fb4 ->   	    Opts2 = [inet6 | Opts],  +	    ?hlrt("try ipv6 listen", [{port, NewPort}, {opts, Opts2}]),  	    case (catch gen_tcp:listen(NewPort, Opts2)) of  		{error, Reason} when ((Reason =:= nxdomain) orelse   				      (Reason =:= eafnosupport)) ->  		    Opts3 = [inet | Opts],  +		    ?hlrt("ipv6 listen failed - try ipv4 instead",  +			  [{reason, Reason}, {port, NewPort}, {opts, Opts3}]),  		    gen_tcp:listen(NewPort, Opts3);  		%% This is when a given hostname has resolved to a   		%% IPv4-address. The inet6-option together with a   		%% {ip, IPv4} option results in badarg -		{'EXIT', _} ->  +		{'EXIT', Reason} ->   		    Opts3 = [inet | Opts],  +		    ?hlrt("ipv6 listen exit - try ipv4 instead",  +			  [{reason, Reason}, {port, NewPort}, {opts, Opts3}]),  		    gen_tcp:listen(NewPort, Opts3);   		Other -> +		    ?hlrt("ipv6 listen done", [{other, Other}]),  		    Other  	    end;  	_ ->  	    Opts2 = [IpFamily | Opts], +	    ?hlrt("listen", [{port, NewPort}, {opts, Opts2}]),  	    gen_tcp:listen(NewPort, Opts2)      end. diff --git a/lib/inets/src/inets_app/inets.appup.src b/lib/inets/src/inets_app/inets.appup.src index 84d8c9278d..0194c65db9 100644 --- a/lib/inets/src/inets_app/inets.appup.src +++ b/lib/inets/src/inets_app/inets.appup.src @@ -18,6 +18,11 @@  {"%VSN%",   [ +  {"5.5", +   [ +    {restart_application, inets} +   ] +  },     {"5.4",     [      {restart_application, inets} @@ -29,6 +34,11 @@     [      {restart_application, inets}     ] +  },      +  {"5.4", +   [ +    {restart_application, inets} +   ]    }        ]  }. | 
