From b23009162688e361cf8e3ab3cba74234adbab5fd Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 28 Aug 2021 18:50:52 +0200 Subject: Dead-lock detection if a task runs but doesn't become 'undirty' as a result. --- build.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build.cc b/build.cc index e057a02..445979e 100644 --- a/build.cc +++ b/build.cc @@ -54,6 +54,12 @@ int build(const Settings& settings, auto task = getNextTask(all_tasks, dirtyTasks); if(task == nullptr) { + if(processes.empty() && !dirtyTasks.empty()) + { + // No running processes, yet no process to run. This is a dead-lock... + std::cout << "Dead-lock detected.\n"; + return 1; + } break; } -- cgit v1.2.3