Avoid breaking activity startup by dbus timeout on sigle instance - Fixes #4773
This problem only happen in activities configured with the option -s in the activity.info "exec" field, and the objective is use a single process, even when starting more than one instance. If the process do not reply, start a new process, instead of show a error. Signed-off-by: Gonzalo Odiard <godiard@sugarlabs.org>
This commit is contained in:
parent
43a4611d75
commit
f157b1148e
@ -145,12 +145,18 @@ def main():
|
||||
if not name:
|
||||
SingleProcess(service_name, activity_constructor)
|
||||
else:
|
||||
single_process = sessionbus.get_object(service_name, service_path)
|
||||
single_process.create(activity_handle.get_dict(),
|
||||
dbus_interface='org.laptop.SingleProcess')
|
||||
try:
|
||||
single_process = sessionbus.get_object(service_name,
|
||||
service_path)
|
||||
single_process.create(
|
||||
activity_handle.get_dict(),
|
||||
dbus_interface='org.laptop.SingleProcess')
|
||||
|
||||
print 'Created %s in a single process.' % service_name
|
||||
sys.exit(0)
|
||||
print 'Created %s in a single process.' % service_name
|
||||
sys.exit(0)
|
||||
except (TypeError, dbus.DBusException):
|
||||
print 'Could not communicate with the instance process,' \
|
||||
'launching a new process'
|
||||
|
||||
if hasattr(module, 'start'):
|
||||
module.start()
|
||||
|
Loading…
Reference in New Issue
Block a user