]> git.notmuchmail.org Git - notmuch/blobdiff - lib/message.cc
Fix "too many open files" bug by closing message files when done with them.
[notmuch] / lib / message.cc
index cb9026439b75647486e4e2b3953da53a8b924e2f..5f8db50fb78b3df8157761387ee30cce4c83f76d 100644 (file)
@@ -547,6 +547,19 @@ _notmuch_message_sync (notmuch_message_t *message)
     db->replace_document (message->doc_id, message->doc);
 }
 
+/* Ensure that 'message' is not holding any file object open. Future
+ * calls to various functions will still automatically open the
+ * message file as needed.
+ */
+void
+_notmuch_message_close (notmuch_message_t *message)
+{
+    if (message->message_file) {
+       notmuch_message_file_close (message->message_file);
+       message->message_file = NULL;
+    }
+}
+
 /* Add a name:value term to 'message', (the actual term will be
  * encoded by prefixing the value with a short prefix). See
  * NORMAL_PREFIX and BOOLEAN_PREFIX arrays for the mapping of term