Skip to content

WIP: [RFC] libtracker-miner: Disable monitors during crawling

Carlos Garnacho requested to merge wip/carlosg/delay-monitors into master

Adding these as the directories are traversed incurs in a fair amount of GSource overhead, as every monitor adds one to the glib worker thread, thus its main context is iterated often.

Waiting to do this at once is a performance improvement, since the main loop is not that much busy during traversal, and adding all monitors collectively in one go isn't nearly as bad as adding them in small groups.

This however means we increase the room for race conditions if files or directories were modified between traversal and monitor enablement. This is slightly racy already, and eventually the indexed state will mirror the filesystem's, so perhaps it's not that bad.

Merge request reports