diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2018-07-21 17:22:07 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2018-07-21 17:22:07 +0200 |
commit | 58cc6255576b1c436545293afbfaf0cb79578348 (patch) | |
tree | 32b6adbb1169052be5e61c17a0949c482ab35343 | |
parent | 9329e25472514ebc57dc34ec1351b34966eb6503 (diff) | |
download | tracker-58cc6255576b1c436545293afbfaf0cb79578348.tar.gz |
libtracker-miner: Coalesce 2 CREATED events
It is not even clear this is possible in real life cases, however the
standalone tracker-file-notifier tests fall into this (due to IRI not being
ever set, still this is an async op). In the case of 2 consecutive CREATED
events on the same file, it would be dealt with in TrackerMinerFS as CREATED+
UPDATED. This was already harmless, but we can do better and swallow one of
such events.
-rw-r--r-- | src/libtracker-miner/tracker-miner-fs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c index e8c9de85e..0fbf7c60d 100644 --- a/src/libtracker-miner/tracker-miner-fs.c +++ b/src/libtracker-miner/tracker-miner-fs.c @@ -775,7 +775,8 @@ queue_event_coalesce (const QueueEvent *first, *replacement = NULL; if (first->type == TRACKER_MINER_FS_EVENT_CREATED) { - if (second->type == TRACKER_MINER_FS_EVENT_UPDATED && + if ((second->type == TRACKER_MINER_FS_EVENT_UPDATED || + second->type == TRACKER_MINER_FS_EVENT_CREATED) && first->file == second->file) { return QUEUE_ACTION_DELETE_SECOND; } else if (second->type == TRACKER_MINER_FS_EVENT_MOVED && |