From e78d4e69fe15b84358ce8fb30edf5c6610a6bad9 Mon Sep 17 00:00:00 2001 From: kosaki Date: Sat, 15 Dec 2012 05:40:18 +0000 Subject: * thread.c (rb_mutex_owned_p): remove static. * io.c (io_flush_buffer): don't hold mutex if already have. Now recursive lock may occur when following scenario. fptr_finalize -> finish_writeconv_sync -> finish_writeconv -> io_fflush. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- internal.h | 1 + 1 file changed, 1 insertion(+) (limited to 'internal.h') diff --git a/internal.h b/internal.h index ced8aead82..b069f67bb1 100644 --- a/internal.h +++ b/internal.h @@ -283,6 +283,7 @@ VALUE rb_thread_shield_release(VALUE self); VALUE rb_thread_shield_destroy(VALUE self); void rb_mutex_allow_trap(VALUE self, int val); VALUE rb_uninterruptible(VALUE (*b_proc)(ANYARGS), VALUE data); +VALUE rb_mutex_owned_p(VALUE self); /* thread_pthread.c, thread_win32.c */ void Init_native_thread(void); -- cgit v1.2.1