summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-23 20:18:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-23 20:18:36 +0000
commita1d416425796d192a7d30b89493971cfe9c4990e (patch)
tree4f72a6d0ec43d86b0be2d6e1fd4f5184a18f65ae /vm_core.h
parent2e5ef26a4e05347cdaea2a222e481516a8a6f4cd (diff)
* thread.c (thread_start_func_2): unlock all locking mutexes
before clean up. [ruby-core:26877] * thread.c (rb_thread_atfork): no other threads to be joined. * vm_core.h (rb_thread_lock_unlock, rb_thread_lock_destroy): new functions. * vm.c (ruby_vm_destruct): unlock and destroy global VM lock. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index b9b584ad69..deda8b6995 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -655,6 +655,9 @@ void rb_threadptr_signal_raise(rb_thread_t *th, int sig);
void rb_threadptr_signal_exit(rb_thread_t *th);
void rb_threadptr_execute_interrupts(rb_thread_t *);
+void rb_thread_lock_unlock(rb_thread_lock_t *);
+void rb_thread_lock_destroy(rb_thread_lock_t *);
+
#define RUBY_VM_CHECK_INTS_TH(th) do { \
if (UNLIKELY(th->interrupt_flag)) { \
rb_threadptr_execute_interrupts(th); \