From b4b5cc69148cb6023dfa1a4d7d148e18426de69b 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 +++++--- tests/Makefile.am | 2 +- 2 files changed, 6 insertions(+), 4 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, diff --git a/tests/Makefile.am b/tests/Makefile.am index da3f39d5e..a47613097 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -41,7 +41,6 @@ UNRELIABLE_TESTS= \ dispatch_drift \ dispatch_readsync \ dispatch_cascade \ - dispatch_context_for_key \ dispatch_io if EXTENDED_TEST_SUITE @@ -60,6 +59,7 @@ TESTS= \ dispatch_group \ dispatch_overcommit \ dispatch_plusplus \ + dispatch_context_for_key \ dispatch_after \ dispatch_timer \ dispatch_timer_short \