[sugar] Activity launching changes
Bert Freudenberg
bert
Mon Oct 8 10:19:31 EDT 2007
On Oct 8, 2007, at 16:02 , Marco Pesenti Gritti wrote:
> On 10/8/07, Bert Freudenberg <bert at freudenbergs.de> wrote:
>> No idea, I did not quite get how the new regime works. Could you
>> please explain it at
>>
>> http://wiki.laptop.org/go/Activity_DBus_API
>
> Well, I'm not sure it make sense to explain it there, since DBus is
> not involved in it anymore.
This page is the only existing low-level documentation of what an
activity is. We can certainly rename it, but this is the place where
it needs to be documented. If you don't do it, I will have to reverse-
engineer Sugar again and document it. Wouldn't be the first time.
> See the Exec field explanation on
> http://wiki.laptop.org/go/Activity_bundles
>
> When starting an activity instance Sugar is now just launching the
> command line specified by the Exec activity.info field, adding
> --activity-id and --object-id to it. This just work for activities
> that supports multiple processes.
>
> Activities that doesn't support multiple process will have to
> implement some sort of IPC to ensure process uniqueness.
That means all instances of one activity run in the same security
container? Otherwise, what methods are ther efor cross-container IPC?
> The way this
> is usually implemented in desktop application (firefox, evince, totem
> etc) is:
>
> * Instance1 starts, see that there are not previous instances running
> and open Window1
> * Instance2 starts, see that Instance1 is running and requests it to
> open Window2
> * Instance2 exit
>
> The idea is that in general activities should support multiple
> processes. But for Web and Etoys we are going to special case Rainbow
> to allow this.
Actually, Etoys uses multiple processes even now (sugar-native-
factory used to fork end exec). We only always wanted to switch to
single-process in the future for performance reasons.
- Bert -
More information about the Sugar-devel
mailing list