From 86dd8affaff59cf9d2657ad1c04fd62571b9a470 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Fri, 3 Jan 2025 16:46:21 -0500 Subject: Fix clang ASan detected bugs Signed-off-by: Andrew Opalach --- src/curl/curl.c | 6 ++++-- src/curl/curl.h | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/curl') diff --git a/src/curl/curl.c b/src/curl/curl.c index d317224..e074643 100644 --- a/src/curl/curl.c +++ b/src/curl/curl.c @@ -19,14 +19,16 @@ static void curl_socket_action_callback(struct ev_loop *loop, ev_io *w, s32 reve curl->handle_events(curl->userdata, curl); } +// TODO: ev_io_set static void set_sock(struct nn_curl *curl, s32 what) { - if (curl->event.active) { + if (curl->started) { ev_io_stop(curl->loop->ev, &curl->event); } s32 action = (what & CURL_POLL_IN ? EV_READ : 0) | (what & CURL_POLL_OUT ? EV_WRITE : 0); ev_io_init(&curl->event, curl_socket_action_callback, curl->sock, action); ev_io_start(curl->loop->ev, &curl->event); + curl->started = true; } static s32 sock_callback(CURL *e, curl_socket_t s, s32 what, void *cbp, void *sockp) @@ -102,7 +104,7 @@ bool nn_curl_init(struct nn_curl *curl) curl->loop = NULL; curl->event.data = curl; - curl->event.active = 0; + curl->started = false; curl->timer_started = false; curl->added = false; diff --git a/src/curl/curl.h b/src/curl/curl.h index 7a5e31f..dd5798a 100644 --- a/src/curl/curl.h +++ b/src/curl/curl.h @@ -8,6 +8,7 @@ struct nn_curl { struct nn_event_loop *loop; ev_io event; + bool started; ev_timer timer; bool timer_started; CURL *handle; -- cgit v1.2.3-101-g0448