diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2022-08-29 09:19:19 +0200 |
---|---|---|
committer | Carlos Garcia Campos <cgarcia@igalia.com> | 2022-08-31 11:09:26 +0200 |
commit | 9091c2cadb6e96faeb9b6dfe6f47177a283673c2 (patch) | |
tree | 1795c9967d7ab3f9b811a782d8b514431fb54066 /libsoup | |
parent | 3c36571db03ae6bcb2741bfe581c43518ea4457a (diff) | |
download | libsoup-9091c2cadb6e96faeb9b6dfe6f47177a283673c2.tar.gz |
http2: check error/progress before session want read/write
Diffstat (limited to 'libsoup')
-rw-r--r-- | libsoup/http2/soup-client-message-io-http2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libsoup/http2/soup-client-message-io-http2.c b/libsoup/http2/soup-client-message-io-http2.c index 4238d64d..a1ad1880 100644 --- a/libsoup/http2/soup-client-message-io-http2.c +++ b/libsoup/http2/soup-client-message-io-http2.c @@ -301,7 +301,7 @@ io_write_ready (GObject *stream, return G_SOURCE_REMOVE; } - while (nghttp2_session_want_write (io->session) && !error) + while (!error && nghttp2_session_want_write (io->session)) io_write (io, FALSE, NULL, &error); if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_WOULD_BLOCK)) { @@ -329,7 +329,7 @@ io_try_write (SoupClientMessageIOHTTP2 *io, if (blocking || !nghttp2_session_want_write (io->session)) return; } else { - while (nghttp2_session_want_write (io->session) && !error) + while (!error && nghttp2_session_want_write (io->session)) io_write (io, blocking, NULL, &error); } @@ -385,7 +385,7 @@ io_read_ready (GObject *stream, if (conn) soup_connection_set_in_use (conn, TRUE); - while (nghttp2_session_want_read (io->session) && progress) { + while (progress && nghttp2_session_want_read (io->session)) { progress = io_read (io, FALSE, NULL, &error); if (progress) { g_list_foreach (io->pending_io_messages, |