summaryrefslogtreecommitdiffstats
path: root/contrib/restricted/aws/aws-c-io/source/bsd
diff options
context:
space:
mode:
authorthegeorg <[email protected]>2025-05-12 15:51:24 +0300
committerthegeorg <[email protected]>2025-05-12 16:06:27 +0300
commitd629bb70c8773d2c0c43f5088ddbb5a86d8c37ea (patch)
tree4f678e0d65ad08c800db21c657d3b0f71fafed06 /contrib/restricted/aws/aws-c-io/source/bsd
parent92c4b696d7a1c03d54e13aff7a7c20a078d90dd7 (diff)
Update contrib/restricted/aws libraries to nixpkgs 24.05
commit_hash:f8083acb039e6005e820cdee77b84e0a6b6c6d6d
Diffstat (limited to 'contrib/restricted/aws/aws-c-io/source/bsd')
-rw-r--r--contrib/restricted/aws/aws-c-io/source/bsd/kqueue_event_loop.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/contrib/restricted/aws/aws-c-io/source/bsd/kqueue_event_loop.c b/contrib/restricted/aws/aws-c-io/source/bsd/kqueue_event_loop.c
index 43130fa4971..33a517e7b9b 100644
--- a/contrib/restricted/aws/aws-c-io/source/bsd/kqueue_event_loop.c
+++ b/contrib/restricted/aws/aws-c-io/source/bsd/kqueue_event_loop.c
@@ -7,6 +7,7 @@
#include <aws/io/logging.h>
+#include <aws/cal/cal.h>
#include <aws/common/atomics.h>
#include <aws/common/clock.h>
#include <aws/common/mutex.h>
@@ -821,6 +822,12 @@ static int aws_event_loop_listen_for_io_events(int kq_fd, struct kevent kevents[
return kevent(kq_fd, NULL /*changelist*/, 0 /*nchanges*/, kevents /*eventlist*/, MAX_EVENTS /*nevents*/, timeout);
}
+static void s_aws_kqueue_cleanup_aws_lc_thread_local_state(void *user_data) {
+ (void)user_data;
+
+ aws_cal_thread_clean_up();
+}
+
static void aws_event_loop_thread(void *user_data) {
struct aws_event_loop *event_loop = user_data;
AWS_LOGF_INFO(AWS_LS_IO_EVENT_LOOP, "id=%p: main loop started", (void *)event_loop);
@@ -852,6 +859,8 @@ static void aws_event_loop_thread(void *user_data) {
DEFAULT_TIMEOUT_SEC,
MAX_EVENTS);
+ aws_thread_current_at_exit(s_aws_kqueue_cleanup_aws_lc_thread_local_state, NULL);
+
while (impl->thread_data.state == EVENT_THREAD_STATE_RUNNING) {
int num_io_handle_events = 0;
bool should_process_cross_thread_data = false;