chiark / gitweb /
journal: always keep marked mmap windows around
authorLennart Poettering <lennart@poettering.net>
Fri, 21 Sep 2012 21:33:22 +0000 (23:33 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 21 Sep 2012 21:37:06 +0000 (23:37 +0200)
src/journal/mmap-cache.c

index 4be3f7e96608bcb947d27e13e7a7bc6a184d9f2f..88fe52331c952ba5c0760d1a1306c8219e1b7a63 100644 (file)
@@ -181,7 +181,7 @@ static void context_detach_window(Context *c) {
         c->window = NULL;
         LIST_REMOVE(Context, by_window, w->contexts, c);
 
-        if (!w->contexts) {
+        if (!w->contexts && !w->keep_always) {
                 /* Not used anymore? */
                 LIST_PREPEND(Window, unused, c->cache->unused, w);
                 if (!c->cache->last_unused)
@@ -200,7 +200,7 @@ static void context_attach_window(Context *c, Window *w) {
 
         context_detach_window(c);
 
-        if (!w->contexts) {
+        if (w->in_unused) {
                 /* Used again? */
                 LIST_REMOVE(Window, unused, c->cache->unused, w);
                 if (!c->cache->last_unused)