summaryrefslogtreecommitdiff
path: root/src/curl
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-01-03 16:46:21 -0500
committerAndrew Opalach <andrew@akon.city> 2025-01-03 16:51:58 -0500
commit86dd8affaff59cf9d2657ad1c04fd62571b9a470 (patch)
tree4704e6b4146b6433fb65c584ea44d5abb68f586a /src/curl
parent8b5c569b53f9287e8b6c84e4402ec6f796e4cb6b (diff)
downloadlibnaunet-86dd8affaff59cf9d2657ad1c04fd62571b9a470.tar.gz
libnaunet-86dd8affaff59cf9d2657ad1c04fd62571b9a470.tar.bz2
libnaunet-86dd8affaff59cf9d2657ad1c04fd62571b9a470.zip
Fix clang ASan detected bugs
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/curl')
-rw-r--r--src/curl/curl.c6
-rw-r--r--src/curl/curl.h1
2 files changed, 5 insertions, 2 deletions
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;