* Implemented the library-dependant functionality of BLORBs
[rodin/chimara.git] / src / glk.c
index 1c29ebbe2ad8d7da26f72dc2b3365382aea7c07a..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;
 
@@ -46,6 +47,12 @@ glk_exit(void)
        /* 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);
 }