]> granicus.if.org Git - neomutt/commitdiff
Make buffer pool initialization lazy
authorPietro Cerutti <gahr@gahr.ch>
Wed, 17 Apr 2019 09:29:31 +0000 (09:29 +0000)
committerRichard Russon <rich@flatcap.org>
Wed, 17 Apr 2019 10:53:28 +0000 (11:53 +0100)
This fixes an issue in the startup sequence where a buffer is requested
from the buffer pool before mutt_buffer_pool_init is called. The latter
doubles up the number of buffers even though there are free ones.

init.c
mutt/buffer.c
mutt/buffer.h

diff --git a/init.c b/init.c
index 7824412fc3ec7e1960424f9c22dc78612832d3c9..dc28ded02ca48873b3fe91885c607e911c62fbf7 100644 (file)
--- a/init.c
+++ b/init.c
@@ -3004,7 +3004,6 @@ int mutt_init(bool skip_sys_rc, struct ListHead *commands)
   TagFormats = mutt_hash_new(64, MUTT_HASH_NO_FLAGS);
 
   mutt_menu_init();
-  mutt_buffer_pool_init();
 
   snprintf(AttachmentMarker, sizeof(AttachmentMarker), "\033]9;%" PRIu64 "\a", // Escape
            mutt_rand64());
index d691f28ee8513a187b12a1a9839b778f9bcee58c..2d5f1b6fb4d3e8d7343ba3ffb1313cceac047b62 100644 (file)
@@ -373,14 +373,6 @@ static void increase_buffer_pool(void)
   }
 }
 
-/**
- * mutt_buffer_pool_init - Initialise the Buffer pool
- */
-void mutt_buffer_pool_init(void)
-{
-  increase_buffer_pool();
-}
-
 /**
  * mutt_buffer_pool_free - Release the Buffer pool
  */
index 400de48e7815e37c5bcaedb450da76e22f271bd3..150ef55629ca162f593b66fd4f1a19f588c62edd 100644 (file)
@@ -64,7 +64,6 @@ void           mutt_buffer_strcpy_n     (struct Buffer *buf, const char *s, size
 
 void           mutt_buffer_pool_free    (void);
 struct Buffer *mutt_buffer_pool_get     (void);
-void           mutt_buffer_pool_init    (void);
 void           mutt_buffer_pool_release (struct Buffer **pbuf);
 
 #endif /* MUTT_LIB_BUFFER_H */