about activation

anlong sun anlongsun at gmail.com
Wed Jan 24 09:30:02 PST 2007


more information:
the dbus version is 0.23.4, a little bit old:)




On 1/25/07, anlong sun <anlongsun at gmail.com> wrote:
> Hello everyone:
>
> We used dbus for a long time.She is really great!
>
> Now we have a special request:
>
> Application A want to call the service method in application B.
>
> There are 2 conditions:
>
> 1. B already exists, it is easy for A, A just send dbus message.
>
> 2. B not exists. So A will launch B, and then send dbus message.
>
> I know auto start function of activation has the similar function.
>
> But now, I do not want to use .service file to tell dbus  deamon to
>
> start application B. It is more comfortable or maybe I have to launch
>
> application B by myself (by application A).
>
> I have use  dbus_message_set_auto_activation (msg, TRUE);
>
> but after A launch B, B can not get the dbus message.
>
> I have read nearly all the mails about activation in this mail list,
>
> but can not solve the problem.
>
> When dbus daemon does not have the .service file, the dbus message will not
>
> be queued if dbus daemon fail to launch application B.
>
> But from this mail, I think the dbus message will be queued.
>
> How can I do that : launch B application by myself instead of by dbus
> daemon and still queued the message which can be gotten by B after
> launched?
>
> thanks
>
> longsun
>
>
>
>
> On Fri, 2004-10-01 at 13:10 +0200, Waldo Bastian wrote:
> > How does automatic service activation work exactly? If a message for an
> > unregistered service is received, the service is started if it is known,
> > correct?
>
> Only optionally, at the moment. You can send an "activate service"
> message and ask that messages to the service be queued up until it's
> activated iirc.
>
> > Will the message be queued until the service has registered itself with dbus?
>
> Yes.
>
> > Does dbus handle messages in the meantime?
>
> Yes, messages to other services are still handled - dbus-daemon never
> blocks.
>
> > What happens if a second message for the same (still not registered) service
> > arrives?
>
> Also queues up. A message queue is kept for the service that's pending
> activation.
>
> > Is there a way to detect that activation of the service failed?
>
> Yeah, you should get an error reply in that case, and all the queued
> messages will also get error replies.
>
> Havoc
>


More information about the dbus mailing list