[sugar] [PATCH] Improve error-handling during activity log-file creation.
Michael Stone
michael at laptop.org
Fri Nov 9 12:11:43 EST 2007
---
lib/sugar/activity/activityfactory.py | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/sugar/activity/activityfactory.py b/lib/sugar/activity/activityfactory.py
index 2858681..85c0832 100644
--- a/lib/sugar/activity/activityfactory.py
+++ b/lib/sugar/activity/activityfactory.py
@@ -28,6 +28,8 @@ from sugar.activity import registry
from sugar import util
from sugar import env
+from errno import EEXIST
+
import os
# #3903 - this constant can be removed and assumed to be 1 when dbus-python
@@ -98,6 +100,7 @@ def get_environment(activity):
environ['SUGAR_BUNDLE_ID'] = activity.bundle_id
environ['SUGAR_ACTIVITY_ROOT'] = activity_root
environ['PATH'] = bin_path + ':' + environ['PATH']
+ #environ['RAINBOW_STRACE_LOG'] = '1'
return environ
@@ -127,8 +130,11 @@ def open_log_file(activity):
| os.O_SYNC | os.O_WRONLY, 0644)
f = os.fdopen(fd, 'w', 0)
return (path, f)
- except:
- i += 1
+ except OSError, e:
+ if e.errno == EEXIST:
+ i += 1
+ else:
+ raise e
class ActivityCreationHandler(gobject.GObject):
"""Sugar-side activity creation interface
--
1.5.3.1
More information about the Sugar
mailing list