[Interest] Starting Services Manually with QProcess (instead of DBus autostart/activation)

Miller, Doug dmiller at JFTI.com
Tue Mar 12 20:17:59 CET 2013


Qt please pick back up the Qt SeriviceFramework so it can be polished and supported.  Our application has made good use of this technology and it is critical to us.

Now for the problem...

I have an application that runs on Windows and Linux.  It is essentially is a  Qt FW client that uses many different Qt FW based services.  The services get started with the DBus autostart mechanism on Windows and Linux just fine.  It just works and works well!

A requirement has made us start the services manually instead of using DBus autostart.  The client application starts the service using QProcess and then waits for the service to be registered on DBus.  Once the service is registered the client then procedes to load the interface.  Our DBus daemon is set up to use the TCP protocal with a particular IP Address and Port.  Also, authentication is "ANONYMOUS" and allow is "anonymous".  The idea is that the DBus Daemon coud be reached by many applications on the NW.

This works fine with the DBus autostart.  With the manual start mechanism we developed it works on Windows, but not on Linux.  On Linux the manual start mechanism works if the dbus daemon is configured as it typically is for the Linux desktop.

It looks like the services are crashing and there is some kind of DBus communication problem.  QServciceClientCredentials indicate the the UID is 0 and the PID is 0.  When things are working these values UID/PID have reasonable/valid values

Have you got any Ideas?

Thanks.



More information about the Interest mailing list