Issue 127: CHECK(state_ == DESTROYED) failed
http://code.google.com/p/v8/issues/detail?id=127

Comment #5 by victor.grishchenko:
I think I got rid of the problem by zeroing a disposed persistent handle:

void connection_closed (int fd) {
        assert(fd);
        printf("closing fd%i\n",fd);
        if (!connections[fd].IsEmpty()) {
                connections[fd]->SetInternalField(0,Integer::New(0));
                DoCallback(connections[fd],"on_disconnect",0,NULL);
                connections[fd].Dispose();
+               connections[fd] = Persistent<Object>();
        }

I checked the description of Persistent::Dispose and I am still puzzled  
what happens if I
* dispose a handle
* go to another handle scope and then
* touch the disposed persistent handle...
...and how that interacts with gc...
The source code is available at  
https://svn.tribler.org/software_general/BitScript



-- 
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

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

Reply via email to