Hi, Mads,

Yeah, it works!

Thanks for your great job:)


Best wishes
Xiang




On Tue, Nov 24, 2009 at 9:31 PM, Mads Sig Ager <[email protected]> wrote:

> The issue should be fixed on bleeding_edge.  Let me know if you are
> still experiencing problems.
>
> Thanks,   -- Mads
>
> On Tue, Nov 24, 2009 at 1:45 PM, Xiang Zhong <[email protected]> wrote:
> > 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