From c36cc962e6b3fd7bec8093756d4c3a7df9940862 Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Sun, 30 Aug 2020 00:05:19 +0200 Subject: linked_list: Implement linked_list_take --- libseat/backend/seatd.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'libseat') diff --git a/libseat/backend/seatd.c b/libseat/backend/seatd.c index afeab7f..1a187b1 100644 --- a/libseat/backend/seatd.c +++ b/libseat/backend/seatd.c @@ -204,14 +204,8 @@ static int queue_event(struct backend_seatd *backend, int opcode) { } static void execute_events(struct backend_seatd *backend) { - struct linked_list list = { - .next = backend->pending_events.next, - .prev = backend->pending_events.prev, - }; - list.next->prev = &list; - list.prev->next = &list; - - linked_list_init(&backend->pending_events); + struct linked_list list; + linked_list_take(&list, &backend->pending_events); while (!linked_list_empty(&list)) { struct pending_event *ev = (struct pending_event *)list.next; int opcode = ev->opcode; -- cgit v1.2.3