Status: New
Owner: ----

New issue 1433 by [email protected]: v8::Locker cannot be used properly if the new isolate is used in the same thread
http://code.google.com/p/v8/issues/detail?id=1433

for(int i=0; i<10; i++) {
                Isolate* isolate = Isolate::New();
                {
                        v8::Isolate::Scope iscope(isolate);

                        v8::V8::Initialize();

/* uncomment the following line and it will crash in the second loop */
                        //v8::Locker l(isolate);

                        // Create a stack-allocated handle scope.
                        HandleScope handle_scope;

                        // Create a new context.
                        Persistent<Context> context = Context::New();

                        if (context.IsEmpty())
                        {
                                printf("I'm dying");
                        }

                        // Enter the created context for compiling and
                        // running the hello world script.
                        Context::Scope context_scope(context);

                        // Create a string containing the JavaScript source 
code.
                        Handle<String> source = String::New("1+1");

                        // Compile the source code.
                        Handle<Script> script = Script::Compile(source);

                        // Run the script to get the result.
                        Handle<Value> result = script->Run();

                        // Dispose the persistent context.
                        context.Dispose();

                        // Convert the result to an ASCII string and print it.
                        String::AsciiValue ascii(result);
                        //printf("%s\n", *ascii);


                }
                isolate->Dispose();

        }

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

Reply via email to