I've got an object that I'm putting to a session object that has its
own __getstate__ and __setstate__ method defined. After a restart of
webkit, the SessionDynamicStore object loads the pickled file twice,
calling my object's __setstate__ method twice.
Specifically, beginning at line 130 of SessionDynamicStore in
"MoveToMemory", the code first gets the object via the __getitem__
method (decoding via a pickle.load) and then deletes it from itself
via its own __delitem__ method -- which in turn calls __getitem__
again so it can call its .expiring method before doing an os.remove
on the actual file.
Has anyone had trouble with having an expensive __setstate__ method
for objects being put into memory? My object's __setstate__ method
essentially bootstraps itself into existence with a minimal amount of
info pickled from the __getstate__ method since the data inside my
object is not pickle-able.
Is there a way around having a pickled object being created twice by
the SessionStore? I'm looking at creating a class attribute in my
object that would keep track of whether these objects have been
bootstrapped or not.
Thanks,
Tracy
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Webware-discuss mailing list
Webware-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/webware-discuss