mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
cf0c773ca5
Don't close unconsumed file descriptors in messaging_recv_cb(). Via multiple registrations on different tevent contexts we might call messaging_recv_cb() multiple times: All but the first tevent context handled in the loop in msg_dgm_ref_recv() will not see file descriptors anymore, it will just get a -1, even if the first reference had no receiver interested in the fds. Change the API such that consumers can set the file descriptor to -1 if it's consumed. If nobody wanted them, do the close where they were created via recvmsg, in messages_dgm.c. If you want multiple handlers to consume the file descriptors, you should dup() them in the filter function handed to messaging_filtered_read_send and save the duplicate in your private data for later consumption. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Fri Mar 19 08:18:26 UTC 2021 on sn-devel-184 |
||
---|---|---|
.. | ||
messages_dgm_ref.c | ||
messages_dgm_ref.h | ||
messages_dgm.c | ||
messages_dgm.h | ||
wscript_build |