Sha256: e45312a19269d0b8cac8162effa54ba77f0d4c0683b6590b8911397b6d698bb0
Contents?: true
Size: 1.38 KB
Versions: 15
Compression:
Stored size: 1.38 KB
Contents
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /************************************************ rbgtkthreads.c - $Author: sakai $ $Date: 2007/07/08 03:00:50 $ Copyright (C) 2003-2005 Masao Mutoh ************************************************/ #include "global.h" #ifdef G_THREADS_ENABLED static VALUE rbgdk_threads_init(self) VALUE self; { #ifndef GDK_WINDOWING_WIN32 if (!g_thread_supported()){ g_thread_init(NULL); } gdk_threads_init(); #endif return self; } static VALUE rbgdk_threads_enter(self) VALUE self; { gdk_threads_enter(); return self; } static VALUE rbgdk_threads_leave(self) VALUE self; { gdk_threads_leave(); return self; } static VALUE rbgdk_threads_synchronize(self) VALUE self; { VALUE func = rb_block_proc(); gdk_threads_enter(); func = rb_block_proc(); rb_funcall(func, id_call, 0); gdk_threads_leave(); return Qnil; } #endif void Init_gtk_gdk_threads() { #ifdef G_THREADS_ENABLED VALUE mGdkThreads = rb_define_module_under(mGdk, "Threads"); rb_define_module_function(mGdkThreads, "init", rbgdk_threads_init, 0); rb_define_module_function(mGdkThreads, "enter", rbgdk_threads_enter, 0); rb_define_module_function(mGdkThreads, "leave", rbgdk_threads_leave, 0); rb_define_module_function(mGdkThreads, "synchronize", rbgdk_threads_synchronize, 0); #endif }
Version data entries
15 entries across 15 versions & 1 rubygems