Lines Matching defs:job
34 2. job ticket number (order in which jobs were added to the queue)
59 fLock("job queue"),
81 JobQueue::AddJob(BJob* job)
91 if (!fQueuedJobs->insert(job).second)
98 BJob::Private(*job).SetTicketNumber(fNextTicketNumber++);
99 job->AddStateListener(this);
100 if (job->IsRunnable())
108 JobQueue::RemoveJob(BJob* job)
116 if (fQueuedJobs->erase(job) == 0)
121 BJob::Private(*job).ClearTicketNumber();
122 job->RemoveStateListener(this);
130 JobQueue::JobSucceeded(BJob* job)
134 _RequeueDependantJobsOf(job);
139 JobQueue::JobFailed(BJob* job)
143 _RemoveDependantJobsOf(job);
150 BJob* job;
151 if (Pop(B_INFINITE_TIMEOUT, true, &job) == B_OK)
152 return job;
174 // we need to wait until a job becomes available/runnable
234 fHaveRunnableJobSem = create_sem(0, "have runnable job");
243 JobQueue::_RequeueDependantJobsOf(BJob* job)
245 while (BJob* dependantJob = job->DependantJobAt(0)) {
255 dependantJob->RemoveDependency(job);
257 // Only insert a job if it was in our queue before
270 JobQueue::_RemoveDependantJobsOf(BJob* job)
272 while (BJob* dependantJob = job->DependantJobAt(0)) {
284 dependantJob->RemoveDependency(job);