diff options
author | Volker Lendecke <vl@samba.org> | 2014-02-24 11:48:16 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-04-23 22:33:08 +0200 |
commit | 6dcf2c7eab0f39a17f22b09df94e5fcdac8726d1 (patch) | |
tree | 1331e1c62bb2d40e552dd6b1e48f851d84bf4d58 /source3/lib/messages.c | |
parent | bafdecdf1fb110b02796a6357b1501777195f9d9 (diff) | |
download | samba-6dcf2c7eab0f39a17f22b09df94e5fcdac8726d1.tar.gz samba-6dcf2c7eab0f39a17f22b09df94e5fcdac8726d1.tar.xz samba-6dcf2c7eab0f39a17f22b09df94e5fcdac8726d1.zip |
lib: Add unix_msg
This is a messaging layer based on unix domain datagram sockets.
Sending to an idle socket is just one single nonblocking sendmsg call. If the
recv queue is full, we start a background thread to do a blocking call. The
source4 based imessaging uses a polling fallback. In a situation where
thousands of senders beat one single blocked socket, this will generate load on
the system due to the constant polling. This does not happen with a threaded
blocking send call.
The threaded approach has another advantage: We save become_root() calls on the
retries. The access checks are done when the blocking socket is connected, the
threaded blocking send call does not check permissions anymore.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib/messages.c')
0 files changed, 0 insertions, 0 deletions