Changeset a902ebb


Ignore:
Timestamp:
Oct 29, 2012, 11:19:40 PM (9 years ago)
Author:
Anders Kaseorg <andersk@mit.edu>
Parents:
9b3167b (diff), 0792d99 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:
Merge 0792d99eb4637636b607b9c1579c0b5e97de6a20 into 9b3167b9c2d41734807e20045328812b089538e5
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • global.c

    r219f52c r0792d99  
    1010
    1111  g_type_init();
     12#if !GLIB_CHECK_VERSION(2, 31, 0)
    1213  g_thread_init(NULL);
     14#endif
    1315
    1416  owl_select_init();
     
    100102
    101103  g->interrupt_count = 0;
     104#if GLIB_CHECK_VERSION(2, 31, 0)
     105  g_mutex_init(&g->interrupt_lock);
     106#else
    102107  g->interrupt_lock = g_mutex_new();
     108#endif
    103109}
    104110
     
    899905}
    900906
     907static 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
    901916void owl_global_add_interrupt(owl_global *g) {
    902917  /* TODO: This can almost certainly be done with atomic
    903918   * operations. Whatever. */
    904   g_mutex_lock(g->interrupt_lock);
     919  g_mutex_lock(owl_global_get_interrupt_lock(g));
    905920  g->interrupt_count++;
    906   g_mutex_unlock(g->interrupt_lock);
     921  g_mutex_unlock(owl_global_get_interrupt_lock(g));
    907922}
    908923
    909924bool owl_global_take_interrupt(owl_global *g) {
    910925  bool ans = false;
    911   g_mutex_lock(g->interrupt_lock);
     926  g_mutex_lock(owl_global_get_interrupt_lock(g));
    912927  if (g->interrupt_count > 0) {
    913928    ans = true;
    914929    g->interrupt_count--;
    915930  }
    916   g_mutex_unlock(g->interrupt_lock);
     931  g_mutex_unlock(owl_global_get_interrupt_lock(g));
    917932  return ans;
    918933}
  • logging.c

    r0a9ffc5 r0792d99  
    436436void owl_log_init(void)
    437437{
     438  log_context = g_main_context_new();
     439#if GLIB_CHECK_VERSION(2, 31, 0)
     440  logging_thread = g_thread_new("logging",
     441                                owl_log_thread_func,
     442                                NULL);
     443#else
    438444  GError *error = NULL;
    439   log_context = g_main_context_new();
    440445  logging_thread = g_thread_create(owl_log_thread_func,
    441446                                   NULL,
     
    448453    exit(1);
    449454  }
     455#endif
    450456 
    451457}
  • owl.h

    r219f52c rcb124fc6  
    596596  char *kill_buffer;
    597597  int interrupt_count;
     598#if GLIB_CHECK_VERSION(2, 31, 0)
     599  GMutex interrupt_lock;
     600#else
    598601  GMutex *interrupt_lock;
     602#endif
    599603} owl_global;
    600604
Note: See TracChangeset for help on using the changeset viewer.