Ticket #138 (closed bug: invalid)

Opened 16 years ago

Last modified 12 years ago

dbus-daemon not shut-down when ffado-dbus-server is killed

Reported by: ppalmers Assigned to:
Priority: minor Milestone: FFADO 2.1
Component: Version: FFADO SVN (trunk)
Keywords: Cc:
The device the bug applies to:

Description

Secondly, I usually manually run ffado-dbus-server prior to starting ffadomixer. If <ctrl>-C is used to exit the ffado-dbus-server (after all mixers have been closed), the dbus-daemon process remains active according to ps:

/usr/bin/dbus-daemon --fork --print-pid 8 --print-address 10 --session

If I then restart ffado-dbus-server a new dbus-daemon instance is started, so the persistance of the old one isn't because it will be reused if ffado-dbus-server is restarted. This means that after several ffado-dbus-server restarts I can end up with a collection of useless dbus-daemon processes running. Is there any way this can be fixed so that either a running dbus-daemon will be reused or the dbus-daemon is killed when ffado-dbus-server exits?

Change History

08/01/08 14:48:41 changed by slack

Want to write down my findings to this problem. Yes I know, a little bit late after a month, but better late than never ;-)

Some times ago while trying to fix the problems when using the discovery cache I also noticed this problem.

I tried to find out what was the cause of it, and after some searching, I found the following within the DBUS C++ Bindings:

File: connection.cpp Line 51 "conn = dbus_bus_get_private(type, e);"

This means, every dbus-server is started as a private session and it is by design that a new process is created...

So, I gave up to fix this because I didn't want to modify the semantics of the DBUS C++ Bindings and used the following command to start ffado-dbus-server: "killall dbus-daemon; ffado-dbus-server".

Later, while debugging the mixer startup and auto-launching of the ffado-dbus-server I often had to start ffado-mixer directly via its desktop entry.

I noticed that this method does not create any extra dbus-server processes. ffado-mixer obviously uses some other method of launching a non-private dbus-server for the session.

Interesting difference but it solves the problem for me.

Hope this helps....

11/22/08 07:28:46 changed by arnonym

When ffado-dbus-server is started in an environment where the DBUS-variables point to an existing dbus-server, all is fine.

If not, it starts its own session. this would be the place where we would have to make sure that this is killed again on quit.

If you start a dbus-session manually be sure to export the DBUS-variables to point to your session bus.

12/01/08 06:18:44 changed by arnonym

Another comment to this: when dbus-launch is installed, it is automaticly used to see whether a session bus is alöready there and can be used, otherwise it is started. In *ubuntu this is in the package dbus-x11...

03/27/12 07:16:35 changed by adi

  • status changed from new to closed.
  • resolution set to invalid.

Integration bug, we only interface to DBUS.