Horis преди 2 години
родител
ревизия
a904639959
променени са 1 файла, в които са добавени 4 реда и са изтрити 4 реда
  1. 4 4
      modules/rhino/src/main/java/com/script/rhino/RhinoCompiledScript.kt

+ 4 - 4
modules/rhino/src/main/java/com/script/rhino/RhinoCompiledScript.kt

@@ -98,10 +98,9 @@ internal class RhinoCompiledScript(
     }
 
     override fun eval(scope: Scriptable, coroutineContext: CoroutineContext?): Any? {
-        val cx = Context.enter()
-        if (cx is RhinoContext) {
-            cx.coroutineContext = coroutineContext
-        }
+        val cx = Context.enter() as RhinoContext
+        val previousCoroutineContext = cx.coroutineContext
+        cx.coroutineContext = coroutineContext
         val result: Any?
         try {
             val ret = script.exec(cx, scope)
@@ -117,6 +116,7 @@ internal class RhinoCompiledScript(
             se.initCause(re)
             throw se
         } finally {
+            cx.coroutineContext = previousCoroutineContext
             Context.exit()
         }
         return result