aboutsummaryrefslogtreecommitdiffstats
path: root/thread_win32.h
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-07 06:17:59 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-07 06:17:59 +0000
commit94e4d61bdaad74e0f31bb6d69521784303a0cb5e (patch)
tree00458e6bd6f47cadd32bac4381b1cdbdacf21aec /thread_win32.h
parent471fb33b1a140973a3e3f6168f16b67bee95b4cd (diff)
downloadruby-94e4d61bdaad74e0f31bb6d69521784303a0cb5e.tar.gz
fix win32 native_cond_timedwait() makes SIGSEGV.
* thread_win32.h (rb_thread_cond_struct): add prev field instead of last. (ie cond_event_entry is now using double linked list instead of single) * thread_win32.c (cond_event_entry): add prev field. * thread_win32.c (__cond_timedwait): remove entry properly if timeout was happen. * thread_win32.c (native_cond_signal): change for double linked list. * thread_win32.c (native_cond_broadcast): ditto. * thread_win32.c (native_cond_initialize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread_win32.h')
-rw-r--r--thread_win32.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/thread_win32.h b/thread_win32.h
index b7ab91ea44..4098a42606 100644
--- a/thread_win32.h
+++ b/thread_win32.h
@@ -25,7 +25,7 @@ typedef HANDLE rb_thread_id_t;
typedef CRITICAL_SECTION rb_thread_lock_t;
typedef struct rb_thread_cond_struct {
struct cond_event_entry *next;
- struct cond_event_entry *last;
+ struct cond_event_entry *prev;
} rb_thread_cond_t;
typedef struct native_thread_data_struct {