* thread_win32.c (native_thread_destroy): decreased the probability of
using the interrupt event in the thread termination. see [ruby-core:27199]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5bc85d6264
commit
9f90682c4b
@ -1,3 +1,9 @@
|
|||||||
|
Thu Dec 31 03:27:53 2009 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
|
* thread_win32.c (native_thread_destroy): decreased the probability of
|
||||||
|
using the interrupt event in the thread termination.
|
||||||
|
see [ruby-core:27199].
|
||||||
|
|
||||||
Thu Dec 31 02:35:57 2009 NAKAMURA Usaku <usa@ruby-lang.org>
|
Thu Dec 31 02:35:57 2009 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
* thread_win32.c (w32_error): should report the function.
|
* thread_win32.c (w32_error): should report the function.
|
||||||
|
@ -449,10 +449,9 @@ native_thread_init_stack(rb_thread_t *th)
|
|||||||
static void
|
static void
|
||||||
native_thread_destroy(rb_thread_t *th)
|
native_thread_destroy(rb_thread_t *th)
|
||||||
{
|
{
|
||||||
HANDLE intr = th->native_thread_data.interrupt_event;
|
HANDLE intr = InterlockedExchangePointer(&th->native_thread_data.interrupt_event, 0);
|
||||||
native_mutex_destroy(&th->interrupt_lock);
|
native_mutex_destroy(&th->interrupt_lock);
|
||||||
thread_debug("close handle - intr: %p, thid: %p\n", intr, th->thread_id);
|
thread_debug("close handle - intr: %p, thid: %p\n", intr, th->thread_id);
|
||||||
th->native_thread_data.interrupt_event = 0;
|
|
||||||
w32_close_handle(intr);
|
w32_close_handle(intr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user