Issue #7505 has been reported by kosaki (Motohiro KOSAKI). ---------------------------------------- Feature #7505: Mutex#owned? ??¡ã?½ã???????®æ?°è¨ https://bugs.ruby-lang.org/issues/7505 Author: kosaki (Motohiro KOSAKI) Status: Open Priority: Normal Assignee: Category: core Target version: next minor 以ä????®ã???????ªã????ã?°ã?©ã??????????£ã????¨ã????¾ã????? Thread.async_interrupt_timing(Object => :on_blocking) { begin ??????mutex = Mutex.new mutex.synchronize { sleep 1 condvar.wait mutex ???} ensure ??ªã?½ã?¼ã?¹è§£??¾ã???????? end } mutex.synchronize??®ä¸???Ctrl-c?????¼ã???????¨ã???????²ã??è¾¼ã?¾ã???????½æ?§ã?®ã?????ç®???????ä¸???¶æ??????????¾ã?? 1) sleep 2) mutex.sleep?????®ä¸???native_sleepï¼?condvar.signal å¾???¡ï?? 3) mutex.sleep?????®ä¸???rb_mutex_lock(condvar.signal??§èµ·åº????????????????mutex?????¥ã?¹ã?¬ã????????使ç?¨ä¸?????£ã????????mutexå¾???¡ï?? ?????®ã?¨ã?????ï¼???¨ï?????mutex????????£ã????¾ã??ensure??«å?¥ã????¾ã????????ï¼????mutex???????????????ensure??«å?¥ã?£ã?¦ã????¾ã?????????????«æ?ªã???????¨ã?«ï????¨ï?????Ruby????????¯å???????¡ã?½ã??????????«ã??????????????ruby??¬ã????«ã?? workaround????????????????????¨ã????§ã????¾ã???????? ??ªã?½ã?¼ã?¹ã??æ£ã????£æ?¾ã????????段ã???????ªã???????¨ã???????®ã?¯å????§ã???????®ã?§ã??Mutex#owned? ??¡ã?½ã???????®æ?°è¨??????æ¡??????¾ã??????????????Mutex#locked? ??¨ã?¯ç?°ã?ªã????ªå???????ã????¯ã???????£ã?¦ã???????¨ã????®ã??true???è¿??????¾ã?? ???????????¥Ã轡¦èº? https://gist.github.com/4195632 以ä??ä½?è«????POSIX?????¨ã??pthread_cond_wait??¯ã?ã?£ã?³ã?»ã?¬ã?¼ã?·ã?§ã?³ã????¤ã?³ã????§ã?¯ã?ªã??????????ªã?«ã?????????????¨ã??Mutex???lock???çµ?????£ã?¦ã???????¢æ?°ã??????????¦ã??????®ã?§ã????????????????¯ã???????¾ã????????????????«æ??????????¨ã???????????????????®ã?§ã??????????????????????¨å?¥ã?¹ã?¬ã??????????ã????¯ã???????£ã????¾ã?¾ã?§ã????????Ctrl-C?????¹ã????ªã???ªã????®ã??akr????????®å¥½??¿ã?«ã?¯ã??????ªã??????????? -- http://bugs.ruby-lang.org/