#2654 HIGH Trial-3: Sugar Shell is offering D-Bus services in the UI loop
Zarro Boogs per Child
bugtracker at laptop.org
Fri Aug 3 08:43:01 EDT 2007
#2654: Sugar Shell is offering D-Bus services in the UI loop
--------------------+-------------------------------------------------------
Reporter: tomeu | Owner: tomeu
Type: defect | Status: new
Priority: high | Milestone: Trial-3
Component: sugar | Version:
Keywords: | Verified: 0
--------------------+-------------------------------------------------------
The shell is offering these interfaces through D-Bus:
- org.laptop.Shell
- org.laptop.Shell.Owner
- org.laptop.Shell.ActivityRegistry
This is quite problematic because the dbus service can only serve requests
when the UI is idle and the UI will block while the Shell is handling a
dbus request. Also, this will cause deadlocks when the Shell requests
something to another process via dbus and that process calls the Shell
service.
Seems to me that org.laptop.Shell and org.laptop.Shell.Owner are too tied
with the UI to be separated from the Shell process.
org.laptop.Shell.ActivityRegistry could be offered by a separate process,
but then the Shell would have to listen signals from it and have access to
operations like add_bundle and remove_bundle that shouldn't be available
to any other process because of security concerns.
The right fix from my point of view would be to run the dbus service
inside the Shell process but having its own thread, loop and dbus
connection, but Simon thinks it's not feasible for Trial3. Simon, is that
true?
--
Ticket URL: <http://dev.laptop.org/ticket/2654>
One Laptop Per Child <http://laptop.org/>
More information about the Bugs
mailing list