diff --git a/src/sugar/activity/activityfactory.py b/src/sugar/activity/activityfactory.py index 4d6871f8..c9729d4b 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 16327fc0..b9c259f3 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: