From fe63d2b8f59142250f09ef39a92648989f9ab71c Mon Sep 17 00:00:00 2001 From: Salikh Zakirov Date: Mon, 19 Feb 2007 17:26:24 +0300 Subject: [PATCH] monitor_wait_impl(): reset suspend_disable_count while blocking on hymutex_lock --- vm/thread/src/thread_native_fat_monitor.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/vm/thread/src/thread_native_fat_monitor.c b/vm/thread/src/thread_native_fat_monitor.c index 10d608c..e9ba216 100644 --- a/vm/thread/src/thread_native_fat_monitor.c +++ b/vm/thread/src/thread_native_fat_monitor.c @@ -216,9 +216,12 @@ IDATA monitor_wait_impl(hythread_monitor_t mon_ptr, I_64 ms, IDATA nano, IDATA i mon_ptr->wait_count--; if (self->suspend_request) { + int save_count; hymutex_unlock(mon_ptr->mutex); hythread_safe_point(); + save_count = reset_suspend_disable(); hymutex_lock(mon_ptr->mutex); + set_suspend_disable(save_count); } mon_ptr->recursion_count = saved_recursion; -- 1.5.0.32.g0dacb