[tor-commits] [stem/master] Catching unexpected exception from descriptor reader

atagar at torproject.org atagar at torproject.org
Sun Apr 22 22:42:59 UTC 2012


commit 6bb517d876243aafd5cf3ae0eef7ecbe45958389
Author: Damian Johnson <atagar at torproject.org>
Date:   Fri Apr 20 12:25:18 2012 -0700

    Catching unexpected exception from descriptor reader
    
    The os.stat() call can raise an OSError, so catching that and notifying the
    skip listener.
---
 stem/descriptor/reader.py |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/stem/descriptor/reader.py b/stem/descriptor/reader.py
index 83b29c6..0bddd53 100644
--- a/stem/descriptor/reader.py
+++ b/stem/descriptor/reader.py
@@ -357,9 +357,13 @@ class DescriptorReader:
     # This is a file. Register its last modified timestamp and check if
     # it's a file that we should skip.
     
-    last_modified = int(os.stat(target).st_mtime)
-    last_used = self._processed_files.get(target)
-    new_processed_files[target] = last_modified
+    try:
+      last_modified = int(os.stat(target).st_mtime)
+      last_used = self._processed_files.get(target)
+      new_processed_files[target] = last_modified
+    except OSError, exc:
+      self._notify_skip_listeners(target, ReadFailed(exc))
+      return
     
     if last_used and last_used >= last_modified:
       self._notify_skip_listeners(target, AlreadyRead(last_modified, last_used))





More information about the tor-commits mailing list