Hi, Mads,
Woo! Great! I am really excited to here that, otherwise, I have to use some ugly hacking:) Many thanks~~ Sincerely~ Xiang On Tue, Nov 24, 2009 at 7:54 PM, Mads Sig Ager <[email protected]> wrote: > 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 -~----------~----~----~----~------~----~------~--~---
