Implemented "started" and "stopped" signals
[rodin/chimara.git] / src / abort.c
index b2d2b67ab2122e3d840de23c425199352fe96401..4580c0f6ad82d8ce6b7037046bccdefef857c26a 100644 (file)
@@ -38,6 +38,7 @@ abort_glk()
 {
        if(glk_data->interrupt_handler)
                (*(glk_data->interrupt_handler))();
+       g_signal_emit_by_name(glk_data->self, "stopped");
        g_thread_exit(NULL);
 }
 
@@ -46,7 +47,7 @@ mutex has already been freed. (That means the thread already ended.) */
 void
 signal_abort()
 {
-       if(glk_data->abort_lock) {
+       if(glk_data && glk_data->abort_lock) {
                g_mutex_lock(glk_data->abort_lock);
                glk_data->abort_signalled = TRUE;
                g_mutex_unlock(glk_data->abort_lock);