Eliminated warnings about static functions declared with G_GNUC_INTERNAL
[projects/chimara/chimara.git] / src / glk.c
index 6077dd542d02029a699e3797586d922816de2f5c..c4f395441de42e7331bdc3cb3bf4be1bc9236ee7 100644 (file)
--- a/src/glk.c
+++ b/src/glk.c
@@ -4,6 +4,7 @@
 #include "abort.h"
 #include "chimara-glk.h"
 #include "chimara-glk-private.h"
+#include "gi_blorb.h"
 
 ChimaraGlkPrivate *glk_data = NULL;
 
@@ -42,6 +43,16 @@ void
 glk_exit(void)
 {
     g_signal_emit_by_name(glk_data->self, "stopped");
+
+       /* Stop any timers */
+       glk_request_timer_events(0);
+
+       /* Close any open resource files */
+       if(glk_data->resource_map != NULL) {
+               giblorb_destroy_map(glk_data->resource_map);
+               glk_stream_close(glk_data->resource_file, NULL);
+       }
+
     glk_data = NULL;
        g_thread_exit(NULL);
 }