diff options
-rw-r--r-- | content/hlcache.c | 9 | ||||
-rw-r--r-- | content/hlcache.h | 6 | ||||
-rw-r--r-- | desktop/netsurf.c | 2 |
3 files changed, 14 insertions, 3 deletions
diff --git a/content/hlcache.c b/content/hlcache.c index 08848e0aa..3b8d0b27a 100644 --- a/content/hlcache.c +++ b/content/hlcache.c @@ -104,6 +104,12 @@ hlcache_initialise(llcache_query_callback cb, void *pw) return NSERROR_OK; } +/* See hlcache.h for documentation */ +void hlcache_stop(void) +{ + /* Remove the hlcache_clean schedule */ + schedule_remove(hlcache_clean, NULL); +} /* See hlcache.h for documentation */ void hlcache_finalise(void) @@ -112,9 +118,6 @@ void hlcache_finalise(void) hlcache_entry *entry; hlcache_retrieval_ctx *ctx, *next; - /* Remove the hlcache_clean schedule */ - schedule_remove(hlcache_clean, NULL); - /* Obtain initial count of contents remaining */ for (num_contents = 0, entry = hlcache_content_list; entry != NULL; entry = entry->next) { diff --git a/content/hlcache.h b/content/hlcache.h index 6738fea53..3006b9e4d 100644 --- a/content/hlcache.h +++ b/content/hlcache.h @@ -73,6 +73,12 @@ enum hlcache_retrieve_flag { nserror hlcache_initialise(llcache_query_callback cb, void *pw); /** + * Stop the high-level cache periodic functionality so that the + * exit sequence can run. + */ +void hlcache_stop(void); + +/** * Finalise the high-level cache, destroying any remaining contents */ void hlcache_finalise(void); diff --git a/desktop/netsurf.c b/desktop/netsurf.c index 3edbae8d5..ed9dbb18b 100644 --- a/desktop/netsurf.c +++ b/desktop/netsurf.c @@ -175,6 +175,8 @@ int netsurf_main_loop(void) void netsurf_exit(void) { + hlcache_stop(); + LOG(("Closing GUI")); gui_quit(); |