Commit 30157677 authored by Tobias Hunger's avatar Tobias Hunger

Journald: Fix reading of entries logged into journald

* Do not use 100% CPU
* Do use the correct machine_id

Task-number: QTCREATORBUG-14356
Change-Id: Ib6ae9036be83f4f3bb9f7834a1590b492d9a33e1
Reviewed-by: default avatarTobias Hunger <tobias.hunger@theqtcompany.com>
parent 22c95e30
......@@ -157,8 +157,10 @@ const QByteArray &JournaldWatcher::machineId()
static QByteArray id;
if (id.isEmpty()) {
sd_id128 sdId;
if (sd_id128_get_machine(&sdId) == 0)
id = QByteArray(reinterpret_cast<char *>(sdId.bytes), 16);
if (sd_id128_get_machine(&sdId) == 0) {
id.resize(32);
sd_id128_to_string(sdId, id.data());
}
}
return id;
}
......@@ -209,6 +211,9 @@ void JournaldWatcher::handleEntry()
if (!d->m_notifier)
return;
if (sd_journal_process(d->m_journalContext) != SD_JOURNAL_APPEND)
return;
LogEntry logEntry;
forever {
logEntry = d->retrieveEntry();
......@@ -225,6 +230,7 @@ void JournaldWatcher::handleEntry()
quint64 pidNum = pid.isEmpty() ? 0 : QString::fromLatin1(pid).toInt();
QString message = QString::fromUtf8(logEntry.value(QByteArrayLiteral("MESSAGE")));
message.append(QLatin1Char('\n')); // Add newline.
emit journaldOutput(pidNum, message);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment