equal
deleted
inserted
replaced
637 |
637 |
638 // Iterate over all tasks in the compile queue |
638 // Iterate over all tasks in the compile queue |
639 while (next != NULL) { |
639 while (next != NULL) { |
640 CompileTask* current = next; |
640 CompileTask* current = next; |
641 next = current->next(); |
641 next = current->next(); |
642 // Wake up thread that blocks on the compile task. |
642 { |
643 current->lock()->notify(); |
643 // Wake up thread that blocks on the compile task. |
|
644 MutexLocker ct_lock(current->lock()); |
|
645 current->lock()->notify(); |
|
646 } |
644 // Put the task back on the freelist. |
647 // Put the task back on the freelist. |
645 CompileTask::free(current); |
648 CompileTask::free(current); |
646 } |
649 } |
647 _first = NULL; |
650 _first = NULL; |
648 |
651 |