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