Hi Charles, that is the intended behavior. One V8 isolate can only be used without Lockers from only one thread. If you want to use multiple threads in one isolate you have to use Lockers even if you know that they are not accessing V8 at the same time. One of the things you will typically see when one isolate from multiple threads without Lockers is stack-overflow exceptions. These are caused by using the stack limit from one thread while using V8 with another thread. Using Lockers ensures exclusive access and also sets up various things used internally such as the stack guard.
Cheers, -- Mads On Tue, Jun 7, 2011 at 7:50 AM, Charles Lowell <[email protected]> wrote: > Hi, > > I noticed that if I initialize v8 in one thread, and then try and do > *anything* in a different thread without using a v8::Locker (even > creating a new HandleScope), that I get a crash. I still get a crash > even though the code is synchronized by other means and never > executing at the same time. That's ok, I just want to make sure that > the behavior is intentional and I'm not missing something. > > cheers, > Charles > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users > -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
