From: Tadashi Saito Date: 2007-12-25T12:35:56+09:00 Subject: [PATCH] make native_* functions static in thread_*.[ch] Hi, I made native_{mutex,cond}_* functions static, and this is the patch. If they are intended to be externed, "rb_" prefixes should be added and needed to use rb_thread*_t parameters instead of pthread*_t in its header, IMHO. # and I changed a subject. Sorry for unclearness. Index: thread_win32.c =================================================================== --- thread_win32.c (revision 14647) +++ thread_win32.c (working copy) @@ -22,6 +22,17 @@ static volatile DWORD ruby_native_thread_key = TLS_OUT_OF_INDEXES; +static int native_mutex_lock(rb_thread_lock_t *); +static int native_mutex_unlock(rb_thread_lock_t *); +static int native_mutex_trylock(rb_thread_lock_t *); +static void native_mutex_initialize(rb_thread_lock_t *); + +static void native_cond_signal(rb_thread_cond_t *cond); +static void native_cond_broadcast(rb_thread_cond_t *cond); +static void native_cond_wait(rb_thread_cond_t *cond, rb_thread_lock_t *mutex); +static void native_cond_initialize(rb_thread_cond_t *cond); +static void native_cond_destroy(rb_thread_cond_t *cond); + static rb_thread_t * ruby_thread_from_native(void) { @@ -221,7 +232,7 @@ GVL_UNLOCK_END(); } -int +static int native_mutex_lock(rb_thread_lock_t *lock) { #if USE_WIN32_MUTEX @@ -257,7 +268,7 @@ #endif } -int +static int native_mutex_unlock(rb_thread_lock_t *lock) { #if USE_WIN32_MUTEX @@ -269,7 +280,7 @@ #endif } -int +static int native_mutex_trylock(rb_thread_lock_t *lock) { #if USE_WIN32_MUTEX @@ -289,7 +300,7 @@ #endif } -void +static void native_mutex_initialize(rb_thread_lock_t *lock) { #if USE_WIN32_MUTEX @@ -303,7 +314,7 @@ #endif } -void +static void native_mutex_destroy(rb_thread_lock_t *lock) { #if USE_WIN32_MUTEX @@ -323,7 +334,7 @@ struct cond_event_entry *last; }; -void +static void native_cond_signal(rb_thread_cond_t *cond) { /* cond is guarded by mutex */ @@ -338,7 +349,7 @@ } } -void +static void native_cond_broadcast(rb_thread_cond_t *cond) { /* cond is guarded by mutex */ @@ -351,7 +362,7 @@ } } -void +static void native_cond_wait(rb_thread_cond_t *cond, rb_thread_lock_t *mutex) { DWORD r; @@ -382,14 +393,14 @@ w32_close_handle(entry.event); } -void +static void native_cond_initialize(rb_thread_cond_t *cond) { cond->next = 0; cond->last = 0; } -void +static void native_cond_destroy(rb_thread_cond_t *cond) { /* */ Index: thread_win32.h =================================================================== --- thread_win32.h (revision 14647) +++ thread_win32.h (working copy) @@ -26,17 +26,6 @@ typedef CRITICAL_SECTION rb_thread_lock_t; typedef struct rb_thread_cond_struct rb_thread_cond_t; -int native_mutex_lock(rb_thread_lock_t *); -int native_mutex_unlock(rb_thread_lock_t *); -int native_mutex_trylock(rb_thread_lock_t *); -void native_mutex_initialize(rb_thread_lock_t *); - -void native_cond_signal(rb_thread_cond_t *cond); -void native_cond_broadcast(rb_thread_cond_t *cond); -void native_cond_wait(rb_thread_cond_t *cond, rb_thread_lock_t *mutex); -void native_cond_initialize(rb_thread_cond_t *cond); -void native_cond_destroy(rb_thread_cond_t *cond); - typedef struct native_thread_data_struct { HANDLE interrupt_event; } native_thread_data_t; Index: thread_pthread.c =================================================================== --- thread_pthread.c (revision 14647) +++ thread_pthread.c (working copy) @@ -12,7 +12,20 @@ #ifdef THREAD_SYSTEM_DEPENDENT_IMPLEMENTATION -void +static void native_mutex_lock(pthread_mutex_t *lock); +static void native_mutex_unlock(pthread_mutex_t *lock); +static void native_mutex_destroy(pthread_mutex_t *lock); +static int native_mutex_trylock(pthread_mutex_t *lock); +static void native_mutex_initialize(pthread_mutex_t *lock); +static void native_mutex_destroy(pthread_mutex_t *lock); + +static void native_cond_signal(pthread_cond_t *cond); +static void native_cond_broadcast(pthread_cond_t *cond); +static void native_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); +static void native_cond_initialize(pthread_cond_t *cond); +static void native_cond_destroy(pthread_cond_t *cond); + +static void native_mutex_lock(pthread_mutex_t *lock) { int r; @@ -21,7 +34,7 @@ } } -void +static void native_mutex_unlock(pthread_mutex_t *lock) { int r; @@ -30,7 +43,7 @@ } } -inline int +static inline int native_mutex_trylock(pthread_mutex_t *lock) { int r; @@ -45,7 +58,7 @@ return 0; } -void +static void native_mutex_initialize(pthread_mutex_t *lock) { int r = pthread_mutex_init(lock, 0); @@ -54,7 +67,7 @@ } } -void +static void native_mutex_destroy(pthread_mutex_t *lock) { int r = pthread_mutex_destroy(lock); @@ -63,7 +76,7 @@ } } -void +static void native_cond_initialize(pthread_cond_t *cond) { int r = pthread_cond_init(cond, 0); @@ -72,7 +85,7 @@ } } -void +static void native_cond_destroy(pthread_cond_t *cond) { int r = pthread_cond_destroy(cond); @@ -81,19 +94,19 @@ } } -void +static void native_cond_signal(pthread_cond_t *cond) { pthread_cond_signal(cond); } -void +static void native_cond_broadcast(pthread_cond_t *cond) { pthread_cond_broadcast(cond); } -void +static void native_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) { pthread_cond_wait(cond, mutex); Index: thread_pthread.h =================================================================== --- thread_pthread.h (revision 14647) +++ thread_pthread.h (working copy) @@ -17,19 +17,6 @@ typedef pthread_mutex_t rb_thread_lock_t; typedef pthread_cond_t rb_thread_cond_t; -void native_mutex_lock(pthread_mutex_t *lock); -void native_mutex_unlock(pthread_mutex_t *lock); -void native_mutex_destroy(pthread_mutex_t *lock); -int native_mutex_trylock(pthread_mutex_t *lock); -void native_mutex_initialize(pthread_mutex_t *lock); -void native_mutex_destroy(pthread_mutex_t *lock); - -void native_cond_signal(pthread_cond_t *cond); -void native_cond_broadcast(pthread_cond_t *cond); -void native_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); -void native_cond_initialize(pthread_cond_t *cond); -void native_cond_destroy(pthread_cond_t *cond); - typedef struct native_thread_data_struct { void *signal_thread_list; pthread_cond_t sleep_cond; -- Tadashi Saito