|
14 | 14 | * reserved. |
15 | 15 | * Copyright (c) 2015 Research Organization for Information Science |
16 | 16 | * and Technology (RIST). All rights reserved. |
| 17 | + * Copyright (c) 2015-2016 Cisco Systems, Inc. All rights reserved. |
17 | 18 | * $COPYRIGHT$ |
18 | 19 | * |
19 | 20 | * Additional copyrights may follow |
|
43 | 44 |
|
44 | 45 | #include "opal/opal_socket_errno.h" |
45 | 46 | #include "opal/mca/btl/base/btl_base_error.h" |
| 47 | +#include "opal/util/show_help.h" |
| 48 | + |
46 | 49 | #include "btl_tcp_frag.h" |
47 | 50 | #include "btl_tcp_endpoint.h" |
| 51 | +#include "btl_tcp_proc.h" |
| 52 | + |
48 | 53 |
|
49 | 54 | static void mca_btl_tcp_frag_eager_constructor(mca_btl_tcp_frag_t* frag) |
50 | 55 | { |
@@ -222,9 +227,19 @@ bool mca_btl_tcp_frag_recv(mca_btl_tcp_frag_t* frag, int sd) |
222 | 227 | frag->iov_ptr[0].iov_base, (unsigned long) frag->iov_ptr[0].iov_len, |
223 | 228 | strerror(opal_socket_errno), (unsigned long) frag->iov_cnt)); |
224 | 229 | btl_endpoint->endpoint_state = MCA_BTL_TCP_FAILED; |
225 | | - mca_btl_tcp_endpoint_close(btl_endpoint); |
226 | | - return false; |
227 | | - default: |
| 230 | + mca_btl_tcp_endpoint_close(btl_endpoint); |
| 231 | + return false; |
| 232 | + |
| 233 | + case ECONNRESET: |
| 234 | + opal_show_help("help-mpi-btl-tcp.txt", "peer hung up", |
| 235 | + true, opal_process_info.nodename, |
| 236 | + getpid(), |
| 237 | + btl_endpoint->endpoint_proc->proc_opal->proc_hostname); |
| 238 | + btl_endpoint->endpoint_state = MCA_BTL_TCP_FAILED; |
| 239 | + mca_btl_tcp_endpoint_close(btl_endpoint); |
| 240 | + return false; |
| 241 | + |
| 242 | + default: |
228 | 243 | BTL_ERROR(("mca_btl_tcp_frag_recv: readv failed: %s (%d)", |
229 | 244 | strerror(opal_socket_errno), |
230 | 245 | opal_socket_errno)); |
|
0 commit comments