[ruby-cvs:54333] normal:r47185 (trunk): thread_pthread: prefer rb_nativethread* types/functions

normal at ruby-lang.org normal at ruby-lang.org
Fri Aug 15 09:17:53 JST 2014


normal	2014-08-15 09:17:53 +0900 (Fri, 15 Aug 2014)

  New Revision: 47185

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=47185

  Log:
    thread_pthread: prefer rb_nativethread* types/functions
    
    This will make it easier for us to try alternative mutex/condvar
    implementations while still using pthreads for thread management.
    [Feature #10134]
    
    * thread_pthread.h: define RB_NATIVETHREAD_LOCK_INIT and
      RB_NATIVETHREAD_COND_INIT macros
    
    * thread_pthread.c (native_mutex_lock, native_mutex_unlock,
      native_mutex_trylock, native_mutex_initialize,
      native_mutex_destroy, native_cond_wait):
      use rb_nativethread_lock_t instead of pthread_mutex_t
    
    * thread_pthread.c (native_mutex_debug): make argument type-agnostic
      to avoid later cast.
    
    * thread_pthread.c (register_cached_thread_and_wait):
      replace PTHREAD_COND_INITIALIZER with RB_NATIVETHREAD_COND_INIT,
      use native_mutex_{lock,unlock}
    
    * thread_pthread.c (use_cached_thread):
      use native_mutex_{lock,unlock}
    
    * thread_pthread.c (native_sleep):
      use rb_nativethread_lock_t to match th->interrupt_lock,
      use native_mutex_{lock,unlock}
    
    * thread_pthread.c (timer_thread_lock): use rb_nativethread_lock_t type

  Modified files:
    trunk/ChangeLog
    trunk/thread_pthread.c
    trunk/thread_pthread.h


More information about the ruby-cvs mailing list