Mirror von
https://github.com/tkuschel/bees.git
synchronisiert 2026-05-08 04:59:37 +02:00
process: Fix gettid() ambiguity with glibc >= 2.30
In version 2.30 glibc added it's own gettid() function. This resulted in "error: call of overloaded ‘gettid()’ is ambiguous" because gettid() now exists in both namespace crucible and std. For now, use explicit references to namespace crucible. This continues to work with new and old libc without having to test specific library versions. At some point, glibc gettid() will be deployed widely enough that we can remove the crucible version entirely. Signed-off-by: Zygo Blaxell <bees@furryterror.org>
Dieser Commit ist enthalten in:
@@ -117,7 +117,7 @@ namespace crucible {
|
||||
while (full() || locked(name)) {
|
||||
m_condvar.wait(lock);
|
||||
}
|
||||
auto rv = m_set.insert(make_pair(name, gettid()));
|
||||
auto rv = m_set.insert(make_pair(name, crucible::gettid()));
|
||||
THROW_CHECK0(runtime_error, rv.second);
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ namespace crucible {
|
||||
if (full() || locked(name)) {
|
||||
return false;
|
||||
}
|
||||
auto rv = m_set.insert(make_pair(name, gettid()));
|
||||
auto rv = m_set.insert(make_pair(name, crucible::gettid()));
|
||||
THROW_CHECK1(runtime_error, name, rv.second);
|
||||
return true;
|
||||
}
|
||||
|
||||
+2
-2
@@ -69,14 +69,14 @@ namespace crucible {
|
||||
DIE_IF_ZERO(strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", <m));
|
||||
|
||||
header_stream << buf;
|
||||
header_stream << " " << getpid() << "." << gettid() << "<" << m_loglevel << ">";
|
||||
header_stream << " " << getpid() << "." << crucible::gettid() << "<" << m_loglevel << ">";
|
||||
if (!m_name.empty()) {
|
||||
header_stream << " " << m_name;
|
||||
}
|
||||
} else {
|
||||
header_stream << "<" << m_loglevel << ">";
|
||||
header_stream << (m_name.empty() ? "thread" : m_name);
|
||||
header_stream << "[" << gettid() << "]";
|
||||
header_stream << "[" << crucible::gettid() << "]";
|
||||
}
|
||||
|
||||
header_stream << ": ";
|
||||
|
||||
+3
-3
@@ -142,9 +142,9 @@ BeesNote::~BeesNote()
|
||||
tl_next = m_prev;
|
||||
unique_lock<mutex> lock(s_mutex);
|
||||
if (tl_next) {
|
||||
s_status[gettid()] = tl_next;
|
||||
s_status[crucible::gettid()] = tl_next;
|
||||
} else {
|
||||
s_status.erase(gettid());
|
||||
s_status.erase(crucible::gettid());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ BeesNote::BeesNote(function<void(ostream &os)> f) :
|
||||
m_prev = tl_next;
|
||||
tl_next = this;
|
||||
unique_lock<mutex> lock(s_mutex);
|
||||
s_status[gettid()] = tl_next;
|
||||
s_status[crucible::gettid()] = tl_next;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren