diff --git a/melib/src/mailbox/backends/maildir/backend.rs b/melib/src/mailbox/backends/maildir/backend.rs index 45c9c0dc..20209125 100644 --- a/melib/src/mailbox/backends/maildir/backend.rs +++ b/melib/src/mailbox/backends/maildir/backend.rs @@ -229,6 +229,11 @@ impl MailBackend for MaildirType { } else { /* Did we just miss a Create event? In any case, create * envelope. */ + + /* Drop the lock manually as add_path_to_index would deadlock + * */ + drop(index_lock); + drop(hash_indexes_lock); if let Some(env) = add_path_to_index( &hash_indexes, folder_hash, @@ -311,6 +316,10 @@ impl MailBackend for MaildirType { .unwrap() .to_path_buf(); debug!("filename = {:?}", file_name); + /* Drop the lock manually as add_path_to_index would deadlock + * */ + drop(index_lock); + drop(hash_indexes_lock); if let Some(env) = add_path_to_index( &hash_indexes, folder_hash,