Hi,

On Mon, 27 Nov 2006 18:29:12 +0200, Eero Tamminen wrote:

> Hi,
> 
> ext Danny Milosavljevic wrote:
>>> (One of the benefits of D-BUS is that other programs don't
>>> need to know whether your app is running, they can just
>>> send messages to it with D-BUS auto-invocation flag and
>>> D-BUS takes care that only one instance of your application
>>> is running.)
>> 
>> If you call that an "advantage"... It usually breaks one of the oldest and
>> best UNIX conventions: that the process blocks the caller until the task
>> is done.
> 
> I think you are a bit confused.  Nobody's removed good ol' exec
> from the libc, so nothing's "broken".  :-)

Hmm, yeah, but I meant it in a different way. 
I mean waitpid() won't do anything sensitive/useful anymore on gui
programs. (And I gave an example to that.)

Maybe I'm just a too old-fashioned UNIX-head, seeing that the
nicest response was yours, and the worst response from someone else was
"never mail me anymore" (_that_ was weird... I mean, really weird. Must be
some kind of taboo he wasn't supposed to talk about ;)).

Then again, it doesn't matter for viewer programs like firefox and book
readers and most of the stuff used when on the Nokia 770, so don't get me
wrong. I just wanted to illuminate the other side for completeness sake
(in the bigger picture of all UNIX computers).

> Whether the D-BUS call is asynchronous or synchronous is controlled with
> a flag used when sending the message.  (in CORBA everything is by
> default synchronous because it's used mainly for "remote procedure
> calls" whereas D-BUS is used more for delivering events and events are
> usually async)

Good to know :)

To place it in technical terms: I think that dbus activation doesn't allow
passing a channel to the existing process, in order that the existing
process could use it to signal that it is "done" with the task later.

Seems that having a process-oriented view is really unusual this year...
strange o_O

> 
> You know on desktop when you want to have another browser window, you
> run Firefox which checks whether there's already a Firefox running and
> then sends a message to that so that it opens another window.  

Yes, even that already breaks my model (the new process "should" block
until I closed the new window again, basically react as if it were not
using the singleton-process optimization) - and its arguably a
very popular program, so I guess times are just changing...

> Sure, it
> already saves some time, but more is saved if you don't need to start
> Firefox (or any other app) in the first place, just send the message to
> the already running process and D-BUS is the one checking whether
> something already runs...

Yes, I know that as an optimization on an embedded platform this makes
sense.

I'm just a person that is way too used to synchronous batch scripts,
so just ignore me... ;)

cheers,
  Danny

_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to