int load_in_thread_callback(void* filename) { scm_init_guile(); scm_c_primitive_load(filename); return EXIT_SUCCESS; } SCM guile_load_in_thread(SCM filename) { SDL_CreateThread(load_in_thread_callback,scm_to_locale_string(filename)); return SCM_UNSPECIFIED; }