@@ -711,7 +711,6 @@ dispatch_assert_queue_not(dispatch_queue_t dq)
711
711
#pragma mark dispatch_init
712
712
713
713
#if HAVE_PTHREAD_WORKQUEUE_QOS
714
- int _dispatch_set_qos_class_enabled ;
715
714
pthread_priority_t _dispatch_background_priority ;
716
715
pthread_priority_t _dispatch_user_initiated_priority ;
717
716
@@ -1651,6 +1650,21 @@ dispatch_pthread_root_queue_create(const char *label, unsigned long flags,
1651
1650
NULL );
1652
1651
}
1653
1652
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
1654
1668
1655
1669
#endif // DISPATCH_ENABLE_PTHREAD_ROOT_QUEUES
1656
1670
@@ -1842,6 +1856,17 @@ dispatch_get_specific(const void *key)
1842
1856
return ctxt ;
1843
1857
}
1844
1858
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
1845
1870
1846
1871
#pragma mark -
1847
1872
#pragma mark dispatch_queue_debug
0 commit comments