From 57408cb1d1c56a85ff72e6cc192e72d37cfbbe7e Mon Sep 17 00:00:00 2001 From: suke Date: Fri, 25 Jan 2013 10:17:59 +0000 Subject: * ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread) to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows Vista or earlier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ext/win32ole/win32ole.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 07520339ed..038d1372a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Jan 25 19:14:24 2013 Masaki Suketa + + * ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread) + to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows + Vista or earlier. + Fri Jan 25 16:47:31 2013 Shugo Maeda * ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo), diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index bebe115406..5310cbfae1 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -214,7 +214,7 @@ VALUE cWIN32OLE_PROPERTY; static VALUE ary_ole_event; static ID id_events; -#ifdef RB_THREAD_SPECIFIC +#if defined(RB_THREAD_SPECIFIC) && (defined(__CYGWIN__) || defined(__MINGW32__)) static RB_THREAD_SPECIFIC BOOL g_ole_initialized; # define g_ole_initialized_init() ((void)0) # define g_ole_initialized_set(val) (g_ole_initialized = (val)) -- cgit v1.2.3