Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-10-06 09:15:36 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-10-06 09:15:36 (GMT)
commitc74013db1ffc19fb7d5de1cda8c80ed7123f42dd (patch)
tree4fa4d5e9b7ebe97888f7fbe377093dbb60986f8e
parent79ba6b91b7dff82a546663423dfa684404f55c79 (diff)
Timeout of 120 seconds for mount to work around jffs2 issues.
-rw-r--r--shell/view/Shell.py11
-rw-r--r--sugar/datastore/datastore.py4
-rw-r--r--sugar/datastore/dbus_helpers.py4
3 files changed, 14 insertions, 5 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index d68d86c..26d39a6 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -24,6 +24,7 @@ import time
import gobject
import gtk
import wnck
+import dbus
from sugar.activity.activityhandle import ActivityHandle
from sugar import activity
@@ -38,6 +39,13 @@ from view.keyhandler import KeyHandler
from view.home.HomeWindow import HomeWindow
from model.shellmodel import ShellModel
+# #3903 - this constant can be removed and assumed to be 1 when dbus-python
+# 0.82.3 is the only version used
+if dbus.version >= (0, 82, 3):
+ DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND = 1
+else:
+ DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND = 1000
+
class Shell(gobject.GObject):
def __init__(self, model):
gobject.GObject.__init__(self)
@@ -69,7 +77,8 @@ class Shell(gobject.GObject):
def _start_journal_idle(self):
# Mount the datastore in internal flash
- datastore.mount(env.get_profile_path('datastore'), [])
+ datastore.mount(env.get_profile_path('datastore'), [],
+ timeout=120 * DBUS_PYTHON_TIMEOUT_UNITS_PER_SECOND)
# Checking for the bundle existence will also ensure
# that the shell service is started up.
diff --git a/sugar/datastore/datastore.py b/sugar/datastore/datastore.py
index 0a7be50..7c1b57b 100644
--- a/sugar/datastore/datastore.py
+++ b/sugar/datastore/datastore.py
@@ -291,8 +291,8 @@ def copy(jobject, mount_point):
write(new_jobject)
-def mount(uri, options):
- return dbus_helpers.mount(uri, options)
+def mount(uri, options, timeout=-1):
+ return dbus_helpers.mount(uri, options, timeout=timeout)
def unmount(mount_point_id):
dbus_helpers.unmount(mount_point_id)
diff --git a/sugar/datastore/dbus_helpers.py b/sugar/datastore/dbus_helpers.py
index 752b0cc..a5ce9c8 100644
--- a/sugar/datastore/dbus_helpers.py
+++ b/sugar/datastore/dbus_helpers.py
@@ -82,8 +82,8 @@ def find(query, properties, reply_handler, error_handler):
else:
return _get_data_store().find(query, properties)
-def mount(uri, options):
- return _get_data_store().mount(uri, options)
+def mount(uri, options, timeout=-1):
+ return _get_data_store().mount(uri, options, timeout=timeout)
def unmount(mount_point_id):
_get_data_store().unmount(mount_point_id)