[maemo-developers] [maemo-developers] Re: Troubleshooting .desktop and .service file
From: Danny Milosavljevic danny_milo at yahoo.comDate: Wed Nov 29 20:12:03 EET 2006
- Previous message: [maemo-developers] Re: Troubleshooting .desktop and .service file
- Next message: [maemo-developers] Re: Scratchbox 1.x with scirocco/mistral
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [maemo-developers] Re: Troubleshooting .desktop and .service file
- Next message: [maemo-developers] Re: Scratchbox 1.x with scirocco/mistral
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]