diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2021-04-15 13:03:15 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2021-04-15 13:03:15 +0300 |
| commit | 5d009304fd23eb409807ce5a19641fb0df53f6e4 (patch) | |
| tree | fa0cd7bbce0a560f96d7b07c928a211f33d08110 | |
| parent | ff1bd0074d7a4182ae2d093cf5ec9d0e89cc2ada (diff) | |
| download | rabbitmq-server-git-5d009304fd23eb409807ce5a19641fb0df53f6e4.tar.gz | |
amqp_network_connection:handshake/3: handle socket send failures
One rabbitmq_trust_store suite runs into a badmatch on this line.
Let's return a more sensible error.
| -rw-r--r-- | deps/amqp_client/src/amqp_network_connection.erl | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/deps/amqp_client/src/amqp_network_connection.erl b/deps/amqp_client/src/amqp_network_connection.erl index f6cae71b93..8a798659fc 100644 --- a/deps/amqp_client/src/amqp_network_connection.erl +++ b/deps/amqp_client/src/amqp_network_connection.erl @@ -184,12 +184,16 @@ try_handshake(AmqpParams, SIF, State = #state{sock = Sock}) -> end. handshake(AmqpParams, SIF, State0 = #state{sock = Sock}) -> - ok = rabbit_net:send(Sock, ?PROTOCOL_HEADER), - case start_infrastructure(SIF, State0) of - {ok, ChMgr, State1} -> - network_handshake(AmqpParams, {ChMgr, State1}); - {error, Reason} -> - {error, Reason} + case rabbit_net:send(Sock, ?PROTOCOL_HEADER) of + ok -> + case start_infrastructure(SIF, State0) of + {ok, ChMgr, State1} -> + network_handshake(AmqpParams, {ChMgr, State1}); + {error, Reason} -> + {error, Reason} + end; + {error, Reason} -> + {error, Reason} end. start_infrastructure(SIF, State = #state{sock = Sock, name = Name}) -> |
