| 7088 | } |
| 7089 | |
| 7090 | inline void ssl_delete(std::mutex &ctx_mutex, SSL *ssl, |
| 7091 | bool shutdown_gracefully) { |
| 7092 | // sometimes we may want to skip this to try to avoid SIGPIPE if we know |
| 7093 | // the remote has closed the network connection |
| 7094 | // Note that it is not always possible to avoid SIGPIPE, this is merely a |
| 7095 | // best-efforts. |
| 7096 | if (shutdown_gracefully) { SSL_shutdown(ssl); } |
| 7097 | |
| 7098 | std::lock_guard<std::mutex> guard(ctx_mutex); |
| 7099 | SSL_free(ssl); |
| 7100 | } |
| 7101 | |
| 7102 | template <typename U> |
| 7103 | bool ssl_connect_or_accept_nonblocking(socket_t sock, SSL *ssl, |
no outgoing calls
no test coverage detected