Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2008-07-25 12:07:48 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2008-07-25 12:07:48 (GMT)
commit00c8a5897b424be1ad4a705d1e53b3fbc7f70dea (patch)
tree12785c0fabcddeac3fc2e577e89926310340c88c
parent71f865da3fc8e8bdaadda1722bf56c7b4ac6ab4d (diff)
Keep going even if the disk is full. Patch by cscott.
Fix #7587
-rw-r--r--src/sugar/activity/activityfactory.py5
-rw-r--r--src/sugar/env.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/sugar/activity/activityfactory.py b/src/sugar/activity/activityfactory.py
index 4d6871f..c9729d4 100644
--- a/src/sugar/activity/activityfactory.py
+++ b/src/sugar/activity/activityfactory.py
@@ -29,7 +29,7 @@ from sugar.activity import registry
from sugar import util
from sugar import env
-from errno import EEXIST
+from errno import EEXIST, ENOSPC
import os
@@ -150,6 +150,9 @@ def open_log_file(activity):
except OSError, e:
if e.errno == EEXIST:
i += 1
+ elif e.errno == ENOSPC:
+ # not the end of the world; let's try to keep going.
+ return ('/dev/null', open('/dev/null','w'))
else:
raise e
diff --git a/src/sugar/env.py b/src/sugar/env.py
index 16327fc..b9c259f 100644
--- a/src/sugar/env.py
+++ b/src/sugar/env.py
@@ -43,7 +43,7 @@ def get_profile_path(path=None):
return base
def get_logs_path(path=None):
- base = get_profile_path('logs')
+ base = os.environ.get('SUGAR_LOGS_DIR', get_profile_path('logs'))
if path != None:
return os.path.join(base, path)
else: