Handle file.tell() error, which will happen for special files (/dev/tty) (#559)

This commit is contained in:
Mark Mossberg
2017-11-13 18:30:23 -05:00
committed by GitHub
parent 08f86cc892
commit d9b54675c5
+7 -2
View File
@@ -53,7 +53,11 @@ class File(object):
state = {}
state['name'] = self.name
state['mode'] = self.mode
state['pos'] = self.tell()
try:
state['pos'] = self.tell()
except IOError:
# This is to handle special files like /dev/tty
state['pos'] = None
return state
def __setstate__(self, state):
@@ -61,7 +65,8 @@ class File(object):
mode = state['mode']
pos = state['pos']
self.file = file(name, mode)
self.seek(pos)
if pos is not None:
self.seek(pos)
@property
def name(self):