diff options
author | Carl Worth <cworth@cworth.org> | 2010-01-05 15:23:52 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-01-06 10:32:06 -0800 |
commit | 29908b9f1375904957e754531912d4ad12e94e74 (patch) | |
tree | 5459617e455dcfb8bb10b971095c716e57950bd1 /notmuch-new.c | |
parent | 999f4c895c2442f50f943f6a8b391e1adc9cbba4 (diff) |
notmuch new: Avoid updating directory timestamp if interrupted.
This was a very dangerous bug. An interrupted "notmuch new" session
would still update the timestamp for the directory in the
database. This would result in mail files that were not processed due
to the original interruption *never* being picked up by future runs of
"notmuch new". Yikes!
Diffstat (limited to 'notmuch-new.c')
-rw-r--r-- | notmuch-new.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/notmuch-new.c b/notmuch-new.c index ca68a68..4adbdc7 100644 --- a/notmuch-new.c +++ b/notmuch-new.c @@ -290,9 +290,11 @@ add_files_recursive (notmuch_database_t *notmuch, next = NULL; } - status = notmuch_directory_set_mtime (directory, path_mtime); - if (status && ret == NOTMUCH_STATUS_SUCCESS) - ret = status; + if (! interrupted) { + status = notmuch_directory_set_mtime (directory, path_mtime); + if (status && ret == NOTMUCH_STATUS_SUCCESS) + ret = status; + } DONE: if (next) |