зеркало из https://github.com/github/ruby.git
* thread_(pthread|win32).h: rename rb_thread_cond_t to
rb_nativethread_cond_t. * thread.c, thread_pthread.c, thread_win32.c, vm_core.h: catch up renaming. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
b2bcef7294
Коммит
4d3feac974
|
@ -1,3 +1,11 @@
|
|||
Tue Jul 23 19:48:38 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* thread_(pthread|win32).h: rename rb_thread_cond_t to
|
||||
rb_nativethread_cond_t.
|
||||
|
||||
* thread.c, thread_pthread.c, thread_win32.c, vm_core.h: catch up
|
||||
renaming.
|
||||
|
||||
Tue Jul 23 19:44:32 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* thread_native.h: add rb_nativethread_self() which returns
|
||||
|
|
2
thread.c
2
thread.c
|
@ -388,7 +388,7 @@ terminate_i(st_data_t key, st_data_t val, rb_thread_t *main_thread)
|
|||
typedef struct rb_mutex_struct
|
||||
{
|
||||
rb_nativethread_lock_t lock;
|
||||
rb_thread_cond_t cond;
|
||||
rb_nativethread_cond_t cond;
|
||||
struct rb_thread_struct volatile *th;
|
||||
int cond_waiting;
|
||||
struct rb_mutex_struct *next_mutex;
|
||||
|
|
|
@ -39,11 +39,11 @@ static void native_mutex_unlock(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(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, pthread_mutex_t *mutex);
|
||||
static void native_cond_initialize(rb_thread_cond_t *cond, int flags);
|
||||
static void native_cond_destroy(rb_thread_cond_t *cond);
|
||||
static void native_cond_signal(rb_nativethread_cond_t *cond);
|
||||
static void native_cond_broadcast(rb_nativethread_cond_t *cond);
|
||||
static void native_cond_wait(rb_nativethread_cond_t *cond, pthread_mutex_t *mutex);
|
||||
static void native_cond_initialize(rb_nativethread_cond_t *cond, int flags);
|
||||
static void native_cond_destroy(rb_nativethread_cond_t *cond);
|
||||
static void rb_thread_wakeup_timer_thread_low(void);
|
||||
static pthread_t timer_thread_id;
|
||||
|
||||
|
@ -253,7 +253,7 @@ native_mutex_destroy(pthread_mutex_t *lock)
|
|||
}
|
||||
|
||||
static void
|
||||
native_cond_initialize(rb_thread_cond_t *cond, int flags)
|
||||
native_cond_initialize(rb_nativethread_cond_t *cond, int flags)
|
||||
{
|
||||
#ifdef HAVE_PTHREAD_COND_INIT
|
||||
int r;
|
||||
|
@ -284,7 +284,7 @@ native_cond_initialize(rb_thread_cond_t *cond, int flags)
|
|||
}
|
||||
|
||||
static void
|
||||
native_cond_destroy(rb_thread_cond_t *cond)
|
||||
native_cond_destroy(rb_nativethread_cond_t *cond)
|
||||
{
|
||||
#ifdef HAVE_PTHREAD_COND_INIT
|
||||
int r = pthread_cond_destroy(&cond->cond);
|
||||
|
@ -305,7 +305,7 @@ native_cond_destroy(rb_thread_cond_t *cond)
|
|||
*/
|
||||
|
||||
static void
|
||||
native_cond_signal(rb_thread_cond_t *cond)
|
||||
native_cond_signal(rb_nativethread_cond_t *cond)
|
||||
{
|
||||
int r;
|
||||
do {
|
||||
|
@ -317,7 +317,7 @@ native_cond_signal(rb_thread_cond_t *cond)
|
|||
}
|
||||
|
||||
static void
|
||||
native_cond_broadcast(rb_thread_cond_t *cond)
|
||||
native_cond_broadcast(rb_nativethread_cond_t *cond)
|
||||
{
|
||||
int r;
|
||||
do {
|
||||
|
@ -329,7 +329,7 @@ native_cond_broadcast(rb_thread_cond_t *cond)
|
|||
}
|
||||
|
||||
static void
|
||||
native_cond_wait(rb_thread_cond_t *cond, pthread_mutex_t *mutex)
|
||||
native_cond_wait(rb_nativethread_cond_t *cond, pthread_mutex_t *mutex)
|
||||
{
|
||||
int r = pthread_cond_wait(&cond->cond, mutex);
|
||||
if (r != 0) {
|
||||
|
@ -338,7 +338,7 @@ native_cond_wait(rb_thread_cond_t *cond, pthread_mutex_t *mutex)
|
|||
}
|
||||
|
||||
static int
|
||||
native_cond_timedwait(rb_thread_cond_t *cond, pthread_mutex_t *mutex, struct timespec *ts)
|
||||
native_cond_timedwait(rb_nativethread_cond_t *cond, pthread_mutex_t *mutex, struct timespec *ts)
|
||||
{
|
||||
int r;
|
||||
|
||||
|
@ -360,7 +360,7 @@ native_cond_timedwait(rb_thread_cond_t *cond, pthread_mutex_t *mutex, struct tim
|
|||
}
|
||||
|
||||
static struct timespec
|
||||
native_cond_timeout(rb_thread_cond_t *cond, struct timespec timeout_rel)
|
||||
native_cond_timeout(rb_nativethread_cond_t *cond, struct timespec timeout_rel)
|
||||
{
|
||||
int ret;
|
||||
struct timeval tv;
|
||||
|
@ -764,7 +764,7 @@ thread_start_func_1(void *th_ptr)
|
|||
|
||||
struct cached_thread_entry {
|
||||
volatile rb_thread_t **th_area;
|
||||
rb_thread_cond_t *cond;
|
||||
rb_nativethread_cond_t *cond;
|
||||
struct cached_thread_entry *next;
|
||||
};
|
||||
|
||||
|
@ -776,7 +776,7 @@ struct cached_thread_entry *cached_thread_root;
|
|||
static rb_thread_t *
|
||||
register_cached_thread_and_wait(void)
|
||||
{
|
||||
rb_thread_cond_t cond = { PTHREAD_COND_INITIALIZER, };
|
||||
rb_nativethread_cond_t cond = { PTHREAD_COND_INITIALIZER, };
|
||||
volatile rb_thread_t *th_area = 0;
|
||||
struct timeval tv;
|
||||
struct timespec ts;
|
||||
|
@ -957,7 +957,7 @@ native_sleep(rb_thread_t *th, struct timeval *timeout_tv)
|
|||
{
|
||||
struct timespec timeout;
|
||||
pthread_mutex_t *lock = &th->interrupt_lock;
|
||||
rb_thread_cond_t *cond = &th->native_thread_data.sleep_cond;
|
||||
rb_nativethread_cond_t *cond = &th->native_thread_data.sleep_cond;
|
||||
|
||||
if (timeout_tv) {
|
||||
struct timespec timeout_rel;
|
||||
|
@ -1344,7 +1344,7 @@ void rb_thread_wakeup_timer_thread(void) {}
|
|||
static void rb_thread_wakeup_timer_thread_low(void) {}
|
||||
|
||||
static pthread_mutex_t timer_thread_lock;
|
||||
static rb_thread_cond_t timer_thread_cond;
|
||||
static rb_nativethread_cond_t timer_thread_cond;
|
||||
|
||||
static inline void
|
||||
timer_thread_sleep(rb_global_vm_lock_t* unused)
|
||||
|
|
|
@ -23,11 +23,11 @@ typedef struct rb_thread_cond_struct {
|
|||
#ifdef HAVE_CLOCKID_T
|
||||
clockid_t clockid;
|
||||
#endif
|
||||
} rb_thread_cond_t;
|
||||
} rb_nativethread_cond_t;
|
||||
|
||||
typedef struct native_thread_data_struct {
|
||||
void *signal_thread_list;
|
||||
rb_thread_cond_t sleep_cond;
|
||||
rb_nativethread_cond_t sleep_cond;
|
||||
} native_thread_data_t;
|
||||
|
||||
#include <semaphore.h>
|
||||
|
@ -44,11 +44,11 @@ typedef struct rb_global_vm_lock_struct {
|
|||
|
||||
/* slow path */
|
||||
volatile unsigned long waiting;
|
||||
rb_thread_cond_t cond;
|
||||
rb_nativethread_cond_t cond;
|
||||
|
||||
/* yield */
|
||||
rb_thread_cond_t switch_cond;
|
||||
rb_thread_cond_t switch_wait_cond;
|
||||
rb_nativethread_cond_t switch_cond;
|
||||
rb_nativethread_cond_t switch_wait_cond;
|
||||
int need_yield;
|
||||
int wait_yield;
|
||||
} rb_global_vm_lock_t;
|
||||
|
|
|
@ -401,7 +401,7 @@ struct cond_event_entry {
|
|||
};
|
||||
|
||||
static void
|
||||
native_cond_signal(rb_thread_cond_t *cond)
|
||||
native_cond_signal(rb_nativethread_cond_t *cond)
|
||||
{
|
||||
/* cond is guarded by mutex */
|
||||
struct cond_event_entry *e = cond->next;
|
||||
|
@ -420,7 +420,7 @@ native_cond_signal(rb_thread_cond_t *cond)
|
|||
}
|
||||
|
||||
static void
|
||||
native_cond_broadcast(rb_thread_cond_t *cond)
|
||||
native_cond_broadcast(rb_nativethread_cond_t *cond)
|
||||
{
|
||||
/* cond is guarded by mutex */
|
||||
struct cond_event_entry *e = cond->next;
|
||||
|
@ -442,7 +442,7 @@ native_cond_broadcast(rb_thread_cond_t *cond)
|
|||
|
||||
|
||||
static int
|
||||
native_cond_timedwait_ms(rb_thread_cond_t *cond, rb_nativethread_lock_t *mutex, unsigned long msec)
|
||||
native_cond_timedwait_ms(rb_nativethread_cond_t *cond, rb_nativethread_lock_t *mutex, unsigned long msec)
|
||||
{
|
||||
DWORD r;
|
||||
struct cond_event_entry entry;
|
||||
|
@ -473,7 +473,7 @@ native_cond_timedwait_ms(rb_thread_cond_t *cond, rb_nativethread_lock_t *mutex,
|
|||
}
|
||||
|
||||
static int
|
||||
native_cond_wait(rb_thread_cond_t *cond, rb_nativethread_lock_t *mutex)
|
||||
native_cond_wait(rb_nativethread_cond_t *cond, rb_nativethread_lock_t *mutex)
|
||||
{
|
||||
return native_cond_timedwait_ms(cond, mutex, INFINITE);
|
||||
}
|
||||
|
@ -495,7 +495,7 @@ abs_timespec_to_timeout_ms(struct timespec *ts)
|
|||
}
|
||||
|
||||
static int
|
||||
native_cond_timedwait(rb_thread_cond_t *cond, rb_nativethread_lock_t *mutex, struct timespec *ts)
|
||||
native_cond_timedwait(rb_nativethread_cond_t *cond, rb_nativethread_lock_t *mutex, struct timespec *ts)
|
||||
{
|
||||
unsigned long timeout_ms;
|
||||
|
||||
|
@ -507,7 +507,7 @@ native_cond_timedwait(rb_thread_cond_t *cond, rb_nativethread_lock_t *mutex, str
|
|||
}
|
||||
|
||||
static struct timespec
|
||||
native_cond_timeout(rb_thread_cond_t *cond, struct timespec timeout_rel)
|
||||
native_cond_timeout(rb_nativethread_cond_t *cond, struct timespec timeout_rel)
|
||||
{
|
||||
int ret;
|
||||
struct timeval tv;
|
||||
|
@ -537,14 +537,14 @@ native_cond_timeout(rb_thread_cond_t *cond, struct timespec timeout_rel)
|
|||
}
|
||||
|
||||
static void
|
||||
native_cond_initialize(rb_thread_cond_t *cond, int flags)
|
||||
native_cond_initialize(rb_nativethread_cond_t *cond, int flags)
|
||||
{
|
||||
cond->next = (struct cond_event_entry *)cond;
|
||||
cond->prev = (struct cond_event_entry *)cond;
|
||||
}
|
||||
|
||||
static void
|
||||
native_cond_destroy(rb_thread_cond_t *cond)
|
||||
native_cond_destroy(rb_nativethread_cond_t *cond)
|
||||
{
|
||||
/* */
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ typedef union rb_thread_lock_union {
|
|||
typedef struct rb_thread_cond_struct {
|
||||
struct cond_event_entry *next;
|
||||
struct cond_event_entry *prev;
|
||||
} rb_thread_cond_t;
|
||||
} rb_nativethread_cond_t;
|
||||
|
||||
typedef struct native_thread_data_struct {
|
||||
HANDLE interrupt_event;
|
||||
|
|
|
@ -553,7 +553,7 @@ typedef struct rb_thread_struct {
|
|||
rb_atomic_t interrupt_flag;
|
||||
unsigned long interrupt_mask;
|
||||
rb_nativethread_lock_t interrupt_lock;
|
||||
rb_thread_cond_t interrupt_cond;
|
||||
rb_nativethread_cond_t interrupt_cond;
|
||||
struct rb_unblock_callback unblock;
|
||||
VALUE locking_mutex;
|
||||
struct rb_mutex_struct *keeping_mutexes;
|
||||
|
|
Загрузка…
Ссылка в новой задаче