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