diff options
Diffstat (limited to 'notmuch-new.c')
-rw-r--r-- | notmuch-new.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/notmuch-new.c b/notmuch-new.c index 598a2083..e79593cd 100644 --- a/notmuch-new.c +++ b/notmuch-new.c @@ -450,6 +450,12 @@ add_files_recursive (notmuch_database_t *notmuch, fflush (stdout); } + status = notmuch_database_begin_atomic (notmuch); + if (status) { + ret = status; + goto DONE; + } + status = notmuch_database_add_message (notmuch, next, &message); switch (status) { /* success */ @@ -490,6 +496,12 @@ add_files_recursive (notmuch_database_t *notmuch, goto DONE; } + status = notmuch_database_end_atomic (notmuch); + if (status) { + ret = status; + goto DONE; + } + if (message) { notmuch_message_destroy (message); message = NULL; @@ -728,6 +740,9 @@ remove_filename (notmuch_database_t *notmuch, { notmuch_status_t status; notmuch_message_t *message; + status = notmuch_database_begin_atomic (notmuch); + if (status) + return status; message = notmuch_database_find_message_by_filename (notmuch, path); status = notmuch_database_remove_message (notmuch, path); if (status == NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) { @@ -737,6 +752,7 @@ remove_filename (notmuch_database_t *notmuch, } else add_files_state->removed_messages++; notmuch_message_destroy (message); + notmuch_database_end_atomic (notmuch); return status; } |