Catalogs: check for local IO failures writing to disk
Sentry.io shows some examples where we failed to write valid data to disk; check for that if possible.
This commit is contained in:
committed by
Automatic Release Builder
parent
57b4060eb3
commit
0fbfa3426f
@@ -143,9 +143,15 @@ protected:
|
|||||||
Dir d(m_owner->installRoot());
|
Dir d(m_owner->installRoot());
|
||||||
SGPath p = d.file("catalog.xml");
|
SGPath p = d.file("catalog.xml");
|
||||||
sg_ofstream f(p, std::ios::out | std::ios::trunc);
|
sg_ofstream f(p, std::ios::out | std::ios::trunc);
|
||||||
f.write(m_buffer.data(), m_buffer.size());
|
const auto sz = m_buffer.size();
|
||||||
|
f.write(m_buffer.data(), sz);
|
||||||
f.close();
|
f.close();
|
||||||
|
|
||||||
|
if (f.fail()) {
|
||||||
|
m_owner->refreshComplete(Delegate::FAIL_FILESYSTEM);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
time(&m_owner->m_retrievedTime);
|
time(&m_owner->m_retrievedTime);
|
||||||
m_owner->writeTimestamp();
|
m_owner->writeTimestamp();
|
||||||
m_owner->refreshComplete(Delegate::STATUS_REFRESHED);
|
m_owner->refreshComplete(Delegate::STATUS_REFRESHED);
|
||||||
|
|||||||
Reference in New Issue
Block a user