MCPcopy Create free account
hub / github.com/David-Haim/concurrencpp / enqueue_foreign

Method enqueue_foreign

source/executors/thread_pool_executor.cpp:412–423  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

410}
411
412void thread_pool_worker::enqueue_foreign(concurrencpp::task& task) {
413 std::unique_lock<std::mutex> lock(m_lock);
414 if (m_abort) {
415 throw_runtime_shutdown_exception(m_parent_pool.name);
416 }
417
418 m_task_found_or_abort.store(true, std::memory_order_relaxed);
419
420 const auto is_empty = m_public_queue.empty();
421 m_public_queue.emplace_back(std::move(task));
422 ensure_worker_active(is_empty, lock);
423}
424
425void thread_pool_worker::enqueue_foreign(std::span<concurrencpp::task> tasks) {
426 std::unique_lock<std::mutex> lock(m_lock);

Callers 2

balance_workMethod · 0.45
enqueueMethod · 0.45

Calls 3

endMethod · 0.80
beginMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected