From 05b9daa1e6e8d045f691b74441ebbc01f69a56aa Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sat, 8 Mar 2025 12:28:15 -0800 Subject: refactor(multiqueue): rename multiqueue_new_parent #32767 --- src/nvim/event/loop.c | 4 ++-- src/nvim/event/multiqueue.c | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'src/nvim/event') diff --git a/src/nvim/event/loop.c b/src/nvim/event/loop.c index f8b149ec78..050419b8e9 100644 --- a/src/nvim/event/loop.c +++ b/src/nvim/event/loop.c @@ -21,9 +21,9 @@ void loop_init(Loop *loop, void *data) loop->closing = false; loop->uv.data = loop; kv_init(loop->children); - loop->events = multiqueue_new_parent(loop_on_put, loop); + loop->events = multiqueue_new(loop_on_put, loop); loop->fast_events = multiqueue_new_child(loop->events); - loop->thread_events = multiqueue_new_parent(NULL, NULL); + loop->thread_events = multiqueue_new(NULL, NULL); uv_mutex_init(&loop->mutex); uv_async_init(&loop->uv, &loop->async, async_cb); uv_signal_init(&loop->uv, &loop->children_watcher); diff --git a/src/nvim/event/multiqueue.c b/src/nvim/event/multiqueue.c index 5072bd774d..859051e594 100644 --- a/src/nvim/event/multiqueue.c +++ b/src/nvim/event/multiqueue.c @@ -67,7 +67,7 @@ struct multiqueue_item { struct multiqueue { MultiQueue *parent; QUEUE headtail; // circularly-linked - PutCallback put_cb; + PutCallback on_put; // Called on the parent (if any) when an item is enqueued in a child. void *data; size_t size; }; @@ -84,26 +84,28 @@ typedef struct { static Event NILEVENT = { .handler = NULL, .argv = { NULL } }; -MultiQueue *multiqueue_new_parent(PutCallback put_cb, void *data) +/// Creates a new root (parentless) queue, which may gain child queues via `multiqueue_new_child`. +MultiQueue *multiqueue_new(PutCallback on_put, void *data) { - return multiqueue_new(NULL, put_cb, data); + return _multiqueue_new(NULL, on_put, data); } +/// Creates a new queue as a child of a `parent` queue. MultiQueue *multiqueue_new_child(MultiQueue *parent) FUNC_ATTR_NONNULL_ALL { assert(!parent->parent); // parent cannot have a parent, more like a "root" parent->size++; - return multiqueue_new(parent, NULL, NULL); + return _multiqueue_new(parent, NULL, NULL); } -static MultiQueue *multiqueue_new(MultiQueue *parent, PutCallback put_cb, void *data) +static MultiQueue *_multiqueue_new(MultiQueue *parent, PutCallback on_put, void *data) { MultiQueue *rv = xmalloc(sizeof(MultiQueue)); QUEUE_INIT(&rv->headtail); rv->size = 0; rv->parent = parent; - rv->put_cb = put_cb; + rv->on_put = on_put; rv->data = data; return rv; } @@ -135,8 +137,8 @@ void multiqueue_put_event(MultiQueue *self, Event event) { assert(self); multiqueue_push(self, event); - if (self->parent && self->parent->put_cb) { - self->parent->put_cb(self->parent, self->parent->data); + if (self->parent && self->parent->on_put) { + self->parent->on_put(self->parent, self->parent->data); } } -- cgit