Changes in global.c [219f52c:0792d99]
Legend:
- Unmodified
- Added
- Removed
-
global.c
r219f52c r0792d99 10 10 11 11 g_type_init(); 12 #if !GLIB_CHECK_VERSION(2, 31, 0) 12 13 g_thread_init(NULL); 14 #endif 13 15 14 16 owl_select_init(); … … 100 102 101 103 g->interrupt_count = 0; 104 #if GLIB_CHECK_VERSION(2, 31, 0) 105 g_mutex_init(&g->interrupt_lock); 106 #else 102 107 g->interrupt_lock = g_mutex_new(); 108 #endif 103 109 } 104 110 … … 899 905 } 900 906 907 static GMutex *owl_global_get_interrupt_lock(owl_global *g) 908 { 909 #if GLIB_CHECK_VERSION(2, 31, 0) 910 return &g->interrupt_lock; 911 #else 912 return g->interrupt_lock; 913 #endif 914 } 915 901 916 void owl_global_add_interrupt(owl_global *g) { 902 917 /* TODO: This can almost certainly be done with atomic 903 918 * operations. Whatever. */ 904 g_mutex_lock( g->interrupt_lock);919 g_mutex_lock(owl_global_get_interrupt_lock(g)); 905 920 g->interrupt_count++; 906 g_mutex_unlock( g->interrupt_lock);921 g_mutex_unlock(owl_global_get_interrupt_lock(g)); 907 922 } 908 923 909 924 bool owl_global_take_interrupt(owl_global *g) { 910 925 bool ans = false; 911 g_mutex_lock( g->interrupt_lock);926 g_mutex_lock(owl_global_get_interrupt_lock(g)); 912 927 if (g->interrupt_count > 0) { 913 928 ans = true; 914 929 g->interrupt_count--; 915 930 } 916 g_mutex_unlock( g->interrupt_lock);931 g_mutex_unlock(owl_global_get_interrupt_lock(g)); 917 932 return ans; 918 933 }
Note: See TracChangeset
for help on using the changeset viewer.