From efe769c42efe29f3b7a602a63357a1925b626a24 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 24 May 2023 08:19:45 +0200 Subject: Merging upstream version 2.12.0. Signed-off-by: Daniel Baumann --- src/net_doh.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/net_doh.c') diff --git a/src/net_doh.c b/src/net_doh.c index dafd736..2caeab8 100644 --- a/src/net_doh.c +++ b/src/net_doh.c @@ -100,7 +100,7 @@ struct perf__doh_socket { bool is_ready, is_conn_ready, is_ssl_ready, is_sending, is_post_sending; // bool have_more; TODO - bool do_reconnect; + bool do_reconnect, do_connect; perf_sockaddr_t server, local; size_t bufsize; @@ -254,7 +254,7 @@ static void perf__doh_reconnect(struct perf_net_socket* sock) self->http2_code = 0; self->http2_is_dns = false; - perf__doh_connect(sock); + self->do_connect = true; } // static ssize_t _recv_callback(nghttp2_session *session, uint8_t *buf, size_t length, int flags, void *sock) @@ -623,6 +623,10 @@ static int perf__doh_sockready(struct perf_net_socket* sock, int pipe_fd, int64_ perf__doh_reconnect(sock); self->do_reconnect = false; } + if (self->do_connect) { + perf__doh_connect(sock); + self->do_connect = false; + } if (self->is_ready) { // do nghttp2 I/O send to flush outstanding frames -- cgit v1.2.3