aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbuild2/search.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/libbuild2/search.cxx b/libbuild2/search.cxx
index b341c85..f52905f 100644
--- a/libbuild2/search.cxx
+++ b/libbuild2/search.cxx
@@ -279,8 +279,13 @@ namespace build2
target_decl::prereq_new,
trace));
- l5 ([&]{trace << (r.second ? "new" : "existing") << " target " << r.first
- << " for prerequisite " << pk;});
+ // @@ Writing the target (r.first) to the stream ends up in target::ext()
+ // which tries to slock ctx.targets.mutex_, which is already ulock-ed
+ // (r.second) by the current thread. This results with
+ // system_error(errc::resource_deadlock_would_occur).
+ //
+ //l5 ([&]{trace << (r.second ? "new" : "existing") << " target " << r.first
+ // << " for prerequisite " << pk;});
return r;
}
}