We should be able to terminate here since there is a loop.  This is a
bug.  I will make sure to fix the issue on bleeding_edge today.

Thanks for reporting this!

-- Mads

On Sat, Nov 21, 2009 at 4:45 PM, Xiang Zhong <[email protected]> wrote:
> Hi, All,
>
> It seems that script v8::V8::TerminateExecution can't terminate the simplest
> script like:
> for (;;)
> {
>       print("Still running");
> }
> Why??
>
> Reproduction steps:
> -----------------------------
> There is a test-thread-termination.cc under project ccTest,
> Change function Doloop to following, then the test case
> "test-thread-termination/TerminateOnlyV8ThreadFromThreadItself" will fail
> v8::Handle<v8::Value> DoLoop(const v8::Arguments& args) {
>   v8::TryCatch try_catch;
>   //v8::Script::Compile(v8::String::New("function f() {"
>   //                                    "  var term = true;"
>   //                                    "  try {"
>   //                                    "    while(true) {"
>   //                                    "      if (term) terminate();"
>   //                                    "      term = false;"
>   //                                    "    }"
>   //                                    "    fail();"
>   //                                    "  } catch(e) {"
>   //                                    "    fail();"
>   //                                    "  }"
>   //                                    "}"
>   //                                    "f()"))->Run();
>   v8::Script::Compile(v8::String::New("var term = true; while(true){if
> (term) terminate(); term = false;}"))->Run();
>
>   CHECK(try_catch.HasCaught());
>   CHECK(try_catch.Exception()->IsNull());
>   CHECK(try_catch.Message().IsEmpty());
>   CHECK(!try_catch.CanContinue());
>   return v8::Undefined();
> }
>
> Does anyone encounter the same situation?
>
> Sincerely~
> Xiang
> >
>

--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to