From 4b8d0c3b6ec6c7844323f5d555a5bfa9047ad89c Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Thu, 23 Feb 2017 13:02:18 -0800 Subject: [PATCH] queue_specific_queue is missing its do_push vtable entry Also reorder all vtable entries to be in the same order (push, invoke, wakeup). Reenable dispatch_context_for_key. SR: SR-4039 --- src/init.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/init.c b/src/init.c index 29d8c4e97..a04daeb96 100644 --- a/src/init.c +++ b/src/init.c @@ -398,6 +398,7 @@ DISPATCH_VTABLE_SUBCLASS_INSTANCE(queue_root, queue, .do_kind = "global-queue", .do_dispose = _dispatch_pthread_root_queue_dispose, .do_push = _dispatch_root_queue_push, + .do_invoke = NULL, .do_wakeup = _dispatch_root_queue_wakeup, .do_debug = dispatch_queue_debug, ); @@ -406,8 +407,8 @@ DISPATCH_VTABLE_SUBCLASS_INSTANCE(queue_main, queue, .do_type = DISPATCH_QUEUE_SERIAL_TYPE, .do_kind = "main-queue", .do_dispose = _dispatch_queue_dispose, - .do_invoke = _dispatch_queue_invoke, .do_push = _dispatch_queue_push, + .do_invoke = _dispatch_queue_invoke, .do_wakeup = _dispatch_main_queue_wakeup, .do_debug = dispatch_queue_debug, ); @@ -416,8 +417,8 @@ DISPATCH_VTABLE_SUBCLASS_INSTANCE(queue_runloop, queue, .do_type = DISPATCH_QUEUE_RUNLOOP_TYPE, .do_kind = "runloop-queue", .do_dispose = _dispatch_runloop_queue_dispose, - .do_invoke = _dispatch_queue_invoke, .do_push = _dispatch_queue_push, + .do_invoke = _dispatch_queue_invoke, .do_wakeup = _dispatch_runloop_queue_wakeup, .do_debug = dispatch_queue_debug, ); @@ -425,8 +426,8 @@ DISPATCH_VTABLE_SUBCLASS_INSTANCE(queue_runloop, queue, DISPATCH_VTABLE_SUBCLASS_INSTANCE(queue_mgr, queue, .do_type = DISPATCH_QUEUE_MGR_TYPE, .do_kind = "mgr-queue", - .do_invoke = _dispatch_mgr_thread, .do_push = _dispatch_queue_push, + .do_invoke = _dispatch_mgr_thread, .do_wakeup = _dispatch_mgr_queue_wakeup, .do_debug = dispatch_queue_debug, ); @@ -435,6 +436,7 @@ DISPATCH_VTABLE_INSTANCE(queue_specific_queue, .do_type = DISPATCH_QUEUE_SPECIFIC_TYPE, .do_kind = "queue-context", .do_dispose = _dispatch_queue_specific_queue_dispose, + .do_push = (void *)_dispatch_queue_push, .do_invoke = (void *)_dispatch_queue_invoke, .do_wakeup = (void *)_dispatch_queue_wakeup, .do_debug = (void *)dispatch_queue_debug,