Skip to content

Commit faeae29

Browse files
author
MarcoFalke
committed
log: Avoid broken DEBUG_LOCKORDER log
1 parent faffaa8 commit faeae29

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/sync.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,27 +97,29 @@ static void potential_deadlock_detected(const LockPair& mismatch, const LockStac
9797
LogPrintf("POTENTIAL DEADLOCK DETECTED\n");
9898
LogPrintf("Previous lock order was:\n");
9999
for (const LockStackItem& i : s1) {
100+
std::string prefix{};
100101
if (i.first == mismatch.first) {
101-
LogPrintf(" (1)"); /* Continued */
102+
prefix = " (1)";
102103
}
103104
if (i.first == mismatch.second) {
104-
LogPrintf(" (2)"); /* Continued */
105+
prefix = " (2)";
105106
}
106-
LogPrintf(" %s\n", i.second.ToString());
107+
LogPrintf("%s %s\n", prefix, i.second.ToString());
107108
}
108109

109110
std::string mutex_a, mutex_b;
110111
LogPrintf("Current lock order is:\n");
111112
for (const LockStackItem& i : s2) {
113+
std::string prefix{};
112114
if (i.first == mismatch.first) {
113-
LogPrintf(" (1)"); /* Continued */
115+
prefix = " (1)";
114116
mutex_a = i.second.Name();
115117
}
116118
if (i.first == mismatch.second) {
117-
LogPrintf(" (2)"); /* Continued */
119+
prefix = " (2)";
118120
mutex_b = i.second.Name();
119121
}
120-
LogPrintf(" %s\n", i.second.ToString());
122+
LogPrintf("%s %s\n", prefix, i.second.ToString());
121123
}
122124
if (g_debug_lockorder_abort) {
123125
tfm::format(std::cerr, "Assertion failed: detected inconsistent lock order for %s, details in debug log.\n", s2.back().second.ToString());
@@ -131,10 +133,11 @@ static void double_lock_detected(const void* mutex, const LockStack& lock_stack)
131133
LogPrintf("DOUBLE LOCK DETECTED\n");
132134
LogPrintf("Lock order:\n");
133135
for (const LockStackItem& i : lock_stack) {
136+
std::string prefix{};
134137
if (i.first == mutex) {
135-
LogPrintf(" (*)"); /* Continued */
138+
prefix = " (*)";
136139
}
137-
LogPrintf(" %s\n", i.second.ToString());
140+
LogPrintf("%s %s\n", prefix, i.second.ToString());
138141
}
139142
if (g_debug_lockorder_abort) {
140143
tfm::format(std::cerr,

0 commit comments

Comments
 (0)