[systemd-devel] KDBus Signals and Timeouts

Kay Sievers kay at vrfy.org
Tue Feb 25 09:30:28 PST 2014


On Tue, Feb 25, 2014 at 5:41 PM, Justin Brown <justin.brown at fandingo.org> wrote:
> On Mon, Feb 24, 2014 at 11:59 PM, Kay Sievers <kay at vrfy.org> wrote:
>> On Tue, Feb 25, 2014 at 4:26 AM, Justin Brown <justin.brown at fandingo.org> wrote:
>>> I've been reading over some of the articles about KDBus and have a
>>> question about reclaiming memfds. Let's say that I have a process
>>> which is sending out a large amount of data over lots of signals, and
>>> there are more than one potential subscriber. Is there (or will there
>>> be) any mechanism that these signals can "expire" after some
>>> conditions are met, or will the data just continue to build-up in each
>>> subscriber until it frees the memfds? Additionally, would there be a
>>> way to automatically expire these signals after a period of time,
>>> once a certain number of signals are received, or preferably once a
>>> certain amount of data are received? If that is (or will be) possible,
>>> any idea how the subscriber would be handle signals expiring.
>>
>> Memfds or other fds cannot be broadcasted, only attached to directed messages.

> Thanks for the response. In that case, how efficient are signals in
> comparison to methods with kdbus? I was under the impression that
> memfds are one of the fundamental reason that kdbus will be suitable
> for sending large data payloads.

There is not real difference, everything is just a message, being a
signal or a method. Only signals are limited to pure copied data,
disallowing fds; therefore signals will not be suitable for really
large data.

Kay


More information about the systemd-devel mailing list