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
-~----------~----~----~----~------~----~------~--~---

Reply via email to