| 2036 | } |
| 2037 | |
| 2038 | static void psocket_error_str(psocket_t *ps, const char *msg, const char* what) { |
| 2039 | if (ps->is_reaper) |
| 2040 | return; |
| 2041 | if (!ps->listener) { |
| 2042 | pn_connection_driver_t *driver = &as_pconnection_t(ps)->driver; |
| 2043 | pn_connection_driver_bind(driver); /* Bind so errors will be reported */ |
| 2044 | pni_proactor_set_cond(pn_transport_condition(driver->transport), what, ps->host, ps->port, msg); |
| 2045 | pn_connection_driver_close(driver); |
| 2046 | } else { |
| 2047 | pn_listener_t *l = as_listener(ps); |
| 2048 | pni_proactor_set_cond(l->condition, what, ps->host, ps->port, msg); |
| 2049 | listener_begin_close(l); |
| 2050 | } |
| 2051 | } |
| 2052 | |
| 2053 | static void psocket_error(psocket_t *ps, int err, const char* what) { |
| 2054 | psocket_error_str(ps, errno_str2(err).c_str(), what); |
no test coverage detected