Skip to content

Commit 84154d4

Browse files
Update lld/MachO/Driver.cpp
Co-authored-by: Daniel Rodríguez Troitiño <[email protected]>
1 parent 6b874b2 commit 84154d4

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

lld/MachO/Driver.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -341,15 +341,17 @@ static void multiThreadedPageIn(const DeferredFiles &deferred) {
341341
std::unique_ptr<DeferredFiles>(new DeferredFiles(deferred)));
342342
if (!running)
343343
running = new std::thread([&]() {
344-
mutex.lock();
345-
while (!queue.empty()) {
346-
const DeferredFiles &deferred = *queue.front();
347-
mutex.unlock();
348-
multiThreadedPageInBackground(deferred);
349-
mutex.lock();
350-
queue.pop_front();
344+
while (true) {
345+
mutex.lock();
346+
if (queue.empty) {
347+
mutex.unlock();
348+
break;
349+
}
350+
DeferredFiles deferred(*queue.front());
351+
queue.pop_front();
352+
mutex.unlock();
353+
multiThreadedPageInBackground(deferred);
351354
}
352-
mutex.unlock();
353355
});
354356
}
355357
mutex.unlock();

0 commit comments

Comments
 (0)