Hi Tim, On Mon, Dec 20, 2004 at 07:26:25PM -0500, Tim Peters wrote: > Still, it's a new-in-2.4 gimmick, and no pre-2.4 code could be using > it. I suppose Armin found a use for it in 2.4, but I'm still > scratching my head. If ZODB doesn't already depend on it, how useful > can it be? QED
Some code in the 'py' lib used to use marshal to send simple objects between the main process and a subprocess. We ran into trouble when we extended the idea to a subprocess that would actually run via ssh on a remote machine, and the remote machine's Python version didn't match the local one. The obvious quick fix was to set the 'version' argument to 0 and pretend that it would be fine forever. Now that we essentially can't use this trick any more because of the 2.4.0 bug, we reverted to repr/eval, which is quite slower (and actually not guaranteed to work across Python versions either: string escapes sometimes change). We avoid to use cPickle because we want to be sure that only "simple enough" objects are sent over this way -- essentially nothing that depends on a precise Python module to be installed and identical on both machines. Armin _______________________________________________ Python-Dev mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com