[systemd-devel] KDBus Signals and Timeouts

Lennart Poettering lennart at poettering.net
Tue Feb 25 10:12:24 PST 2014

On Tue, 25.02.14 10:41, 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.
> >
> > Kay
> 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.

memfds are used strictly only for large datagrams, to make them more
effiecient. And broadcast signals should never be large datagrams, but
only very short.


Lennart Poettering, Red Hat

More information about the systemd-devel mailing list