Skip to content

Parser: Don't require pause/unpause when flushing

This fixes a potential & likely dead lock when a parser worker is responsible for a device to be updated, which would cause the task list to be refreshed to account for appearing/disappearing devices.

This was likely to deadlock since the task list refresh was queried from a parser worker thread, which then was waiting for that same worker thread to go back to idle.

It shouldn't be necessary to wait for the current task to complete. Worst case scenario, we will try to update a media that has gone missing, which is now handled anyway, so we trade a potential small resource lost for a faster & safer flushing.

Edited by Hugo Beauzée-Luyssen

Merge request reports