db/update/InotifyQueue: catch UpdateService::Enqueue() exceptions

This commit is contained in:
Max Kellermann
2018-12-28 13:47:18 +01:00
parent 2677b90244
commit 3c4ed9cbe3
2 changed files with 10 additions and 1 deletions

View File

@@ -39,7 +39,15 @@ InotifyQueue::OnDelay() noexcept
while (!queue.empty()) {
const char *uri_utf8 = queue.front().c_str();
id = update.Enqueue(uri_utf8, false);
try {
id = update.Enqueue(uri_utf8, false);
} catch (...) {
FormatError(std::current_exception(),
"Failed to enqueue '%s'", uri_utf8);
queue.pop_front();
continue;
}
if (id == 0) {
/* retry later */
delay_event.Schedule(INOTIFY_UPDATE_DELAY);