MCPcopy Create free account
hub / github.com/SakuraEngine/SakuraEngine / enqueue

Method enqueue

modules/core/core/src/async/job.cpp:302–316  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

300}
301
302int JobQueue::enqueue(JobItem* jobItem) SKR_NOEXCEPT
303{
304 // Add to pending queue
305 skr_rw_mutex_acquire_w(&pending_queue_mutex);
306 SKR_DEFER({skr_rw_mutex_release_w(&pending_queue_mutex);});
307 JobResult ret;
308 {
309 ret = enqueueCore(jobItem, /*isEndJob=*/false);
310 }
311 if (ret == ASYNC_RESULT_OK)
312 {
313 pending_queue.emplace_back(jobItem);
314 }
315 return ret;
316}
317
318bool JobQueue::is_empty() SKR_NOEXCEPT
319{

Callers 15

pushMethod · 0.45
StatusEventArrayMethod · 0.45
DeallocateMethod · 0.45
fetchMethod · 0.45
finishBatchMethod · 0.45
enqueueAndSubmitMethod · 0.45
pollSubmittedMethod · 0.45
fetchMethod · 0.45
fetchMethod · 0.45
cancel_Method · 0.45
complete_Method · 0.45
dispatchMethod · 0.45

Calls 3

skr_rw_mutex_acquire_wFunction · 0.50
skr_rw_mutex_release_wFunction · 0.50
emplace_backMethod · 0.45

Tested by

no test coverage detected