MCPcopy Create free account
hub / github.com/Singular/Singular / attachJob

Method attachJob

Singular/dyn_modules/systhreads/shared.cc:1737–1752  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1735 lock.unlock();
1736 }
1737 void attachJob(ThreadPool *pool, Job *job) {
1738 lock.lock();
1739 job->pool = pool;
1740 job->id = jobid++;
1741 acquireShared(job);
1742 if (job->ready()) {
1743 global_queue.push(job);
1744 cond.signal();
1745 }
1746 else if (job->pending_index < 0) {
1747 job->pool = pool;
1748 job->pending_index = pending.size();
1749 pending.push_back(job);
1750 }
1751 lock.unlock();
1752 }
1753 void detachJob(Job *job) {
1754 lock.lock();
1755 long i = job->pending_index;

Callers

nothing calls this directly

Calls 8

acquireSharedFunction · 0.85
signalMethod · 0.80
lockMethod · 0.45
readyMethod · 0.45
pushMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
unlockMethod · 0.45

Tested by

no test coverage detected