mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
cli/insert: delay database open until after writing mail file
The idea is to get the mail written to disk, even if we can't open the database (e.g. because some other process has a write lock, and notmuch is compiled for non-blocking opens).
This commit is contained in:
parent
27e293f653
commit
9259b97fa2
1 changed files with 7 additions and 7 deletions
|
@ -532,18 +532,18 @@ notmuch_insert_command (notmuch_config_t *config, int argc, char *argv[])
|
|||
action.sa_flags = 0;
|
||||
sigaction (SIGINT, &action, NULL);
|
||||
|
||||
if (notmuch_database_open (notmuch_config_get_database_path (config),
|
||||
/* Write the message to the Maildir new directory. */
|
||||
newpath = maildir_write_new (config, STDIN_FILENO, maildir);
|
||||
if (! newpath) {
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (notmuch_database_open (notmuch_config_get_database_path (config),
|
||||
NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
notmuch_exit_if_unmatched_db_uuid (notmuch);
|
||||
|
||||
/* Write the message to the Maildir new directory. */
|
||||
newpath = maildir_write_new (config, STDIN_FILENO, maildir);
|
||||
if (! newpath) {
|
||||
notmuch_database_destroy (notmuch);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
/* Index the message. */
|
||||
status = add_file (notmuch, newpath, tag_ops, synchronize_flags, keep);
|
||||
|
|
Loading…
Reference in a new issue