@@ -711,7 +711,6 @@ dispatch_assert_queue_not(dispatch_queue_t dq)
711711#pragma mark dispatch_init
712712
713713#if HAVE_PTHREAD_WORKQUEUE_QOS
714- int _dispatch_set_qos_class_enabled ;
715714pthread_priority_t _dispatch_background_priority ;
716715pthread_priority_t _dispatch_user_initiated_priority ;
717716
@@ -1651,6 +1650,21 @@ dispatch_pthread_root_queue_create(const char *label, unsigned long flags,
16511650 NULL );
16521651}
16531652
1653+ #if DISPATCH_IOHID_SPI
1654+ dispatch_queue_t
1655+ _dispatch_pthread_root_queue_create_with_observer_hooks_4IOHID (const char * label ,
1656+ unsigned long flags , const pthread_attr_t * attr ,
1657+ dispatch_pthread_root_queue_observer_hooks_t observer_hooks ,
1658+ dispatch_block_t configure )
1659+ {
1660+ if (!observer_hooks -> queue_will_execute ||
1661+ !observer_hooks -> queue_did_execute ) {
1662+ DISPATCH_CLIENT_CRASH ("Invalid pthread root queue observer hooks" );
1663+ }
1664+ return _dispatch_pthread_root_queue_create (label , flags , attr , configure ,
1665+ observer_hooks );
1666+ }
1667+ #endif
16541668
16551669#endif // DISPATCH_ENABLE_PTHREAD_ROOT_QUEUES
16561670
@@ -1842,6 +1856,17 @@ dispatch_get_specific(const void *key)
18421856 return ctxt ;
18431857}
18441858
1859+ #if DISPATCH_IOHID_SPI
1860+ bool
1861+ _dispatch_queue_is_exclusively_owned_by_current_thread_4IOHID (
1862+ dispatch_queue_t dq ) // rdar://problem/18033810
1863+ {
1864+ if (dq -> dq_width > 1 ) {
1865+ DISPATCH_CLIENT_CRASH ("Invalid queue type" );
1866+ }
1867+ return (dq -> dq_thread && dq -> dq_thread == _dispatch_thread_port ());
1868+ }
1869+ #endif
18451870
18461871#pragma mark -
18471872#pragma mark dispatch_queue_debug
0 commit comments