[Python-checkins] CVS: python/dist/src/Lib os.py,1.50,1.50.8.1

Michael Hudson mwh@users.sourceforge.net
Thu, 07 Mar 2002 02:12:14 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv21104

Modified Files:
      Tag: release22-maint
	os.py 
Log Message:
backport my checkin of
    revision 1.52 of os.py

revision 1.52
date: 2002/03/06 17:11:17;  author: mwh;  state: Exp;  lines: +20 -0
Special support for pickling os.stat and os.stat_vfs results portably
(the types come from different modules on different platforms).

Added tests for pickling these types.

May be a bugfix candidate.


Index: os.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/os.py,v
retrieving revision 1.50
retrieving revision 1.50.8.1
diff -C2 -d -r1.50 -r1.50.8.1
*** os.py	30 Oct 2001 05:56:40 -0000	1.50
--- os.py	7 Mar 2002 10:12:11 -0000	1.50.8.1
***************
*** 592,593 ****
--- 592,613 ----
              return stdin, stdout
          __all__.append("popen4")
+ 
+ import copy_reg as _copy_reg
+ 
+ def _make_stat_result(tup, dict):
+     return stat_result(tup, dict)
+ 
+ def _pickle_stat_result(sr):
+     (type, args) = sr.__reduce__()
+     return (_make_stat_result, args)
+ 
+ _copy_reg.pickle(stat_result, _pickle_stat_result,_make_stat_result)
+ 
+ def _make_statvfs_result(tup, dict):
+     return statvfs_result(tup, dict)
+ 
+ def _pickle_statvfs_result(sr):
+     (type, args) = sr.__reduce__()
+     return (_make_statvfs_result, args)
+ 
+ _copy_reg.pickle(statvfs_result, _pickle_statvfs_result,_make_statvfs_result)