Lines Matching refs:client
57 void thread_dispatcher::register_client(thread_dispatcher_client* client) { in register_client() argument
59 insert_client(*client); in register_client()
62 bool thread_dispatcher::try_unregister_client(thread_dispatcher_client* client, std::uint64_t aba_e… in try_unregister_client() argument
63 __TBB_ASSERT(client, nullptr); in try_unregister_client()
68 if (client == &it) { in try_unregister_client()
75 if (!client->references() && !client->has_request()) { in try_unregister_client()
77 remove_client(*client); in try_unregister_client()
81 destroy_client(client); in try_unregister_client()
93 void thread_dispatcher::destroy_client(thread_dispatcher_client* client) { in destroy_client() argument
94 client->~thread_dispatcher_client(); in destroy_client()
95 cache_aligned_deallocate(client); in destroy_client()
99 void thread_dispatcher::insert_client(thread_dispatcher_client& client) { in insert_client() argument
100 __TBB_ASSERT(client.priority_level() < num_priority_levels, nullptr); in insert_client()
101 my_client_list[client.priority_level()].push_front(client); in insert_client()
108 void thread_dispatcher::remove_client(thread_dispatcher_client& client) { in remove_client() argument
109 __TBB_ASSERT(client.priority_level() < num_priority_levels, nullptr); in remove_client()
110 my_client_list[client.priority_level()].remove(client); in remove_client()
112 if (my_next_client == &client) { in remove_client()
118 bool thread_dispatcher::is_client_alive(thread_dispatcher_client* client) { in is_client_alive() argument
119 if (!client) { in is_client_alive()
126 if (client == &c) { in is_client_alive()
179 thread_dispatcher_client* client = td.my_last_client; in process() local
181 while ((client = client_in_need(client)) ) { in process()
182 td.my_last_client = client; in process()
183 client->process(td); in process()