diff options
author | Marco 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) |
commit | 00c8a5897b424be1ad4a705d1e53b3fbc7f70dea (patch) | |
tree | 12785c0fabcddeac3fc2e577e89926310340c88c | |
parent | 71f865da3fc8e8bdaadda1722bf56c7b4ac6ab4d (diff) |
Keep going even if the disk is full. Patch by cscott.
Fix #7587
-rw-r--r-- | src/sugar/activity/activityfactory.py | 5 | ||||
-rw-r--r-- | src/sugar/env.py | 2 |
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: |