Loosing signal while reading bus systems under C
Alban Crequy
alban.crequy at collabora.co.uk
Sat Nov 20 06:09:32 PST 2010
Le Mon, 15 Nov 2010 11:19:37 +0100,
"Victor Andres" <victor at cymonline.com> a écrit :
> Hello,
> I'm trying to use dbus to send information from one process to other,
> using low level C. The frecuency that this application send signal is
> about 1200 per seconds, and each signal is a struct of 4 or 7 basic
> datas (there are 2 different signals). I think I'm writing signal
> correctly (at less I can monitory them correctly from dbus-monitor
> utility), but when I'm reading it from the other application, I have
> some loosing data (or not received signal) randomly.
How big are your D-Bus messages in bytes? Can the data be lost
immediately after you start your applications, or only after a while?
I wonder if the receiving queue of the other application is full (127MB
by default on the system bus). In that case, dbus-daemon will not
deliver the signal.
By default (for the system bus):
parser->limits.max_incoming_bytes = _DBUS_ONE_MEGABYTE * 127;
In /etc/dbus-1/session.conf for the session bus:
<limit name="max_incoming_bytes">1000000000</limit>
That said, I agree that other solutions should be considered.
Regards,
Alban
More information about the dbus
mailing list