You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2007/12/26 17:33:25 UTC

svn commit: r606918 - /harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_rawmon.cpp

Author: gshimansky
Date: Wed Dec 26 08:33:24 2007
New Revision: 606918

URL: http://svn.apache.org/viewvc?rev=606918&view=rev
Log:
Don't return interrupted status from RawMonitorWait when thread has been "interrupted"
by PopFrame callback. The interrupt is not caused by Thread.interrupt, but is a side
effect of PopFrame work.


Modified:
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_rawmon.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_rawmon.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_rawmon.cpp?rev=606918&r1=606917&r2=606918&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_rawmon.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_rawmon.cpp Wed Dec 26 08:33:24 2007
@@ -33,6 +33,7 @@
 #include "cxxlog.h"
 #include "open/ti_thread.h"
 #include "suspend_checker.h"
+#include "exceptions.h"
 
 
 /*
@@ -117,7 +118,10 @@
                     jrawMonitorID monitor,
                     jlong millis)
 {
-    return (jvmtiError)jthread_raw_monitor_wait(monitor, millis);
+    jvmtiError res = (jvmtiError)jthread_raw_monitor_wait(monitor, millis);
+    if (exn_raised() && res == JVMTI_ERROR_INTERRUPT)
+        return JVMTI_ERROR_NONE;
+    return res;
 } // jvmtiRawMonitorWait