aboutsummaryrefslogtreecommitdiffstats
path: root/src/libunixonacid/unixmessage_sender_init_withclosecb.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2016-01-18 23:56:21 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2016-01-18 23:56:21 +0000
commitc9c7e241a7b68f67e0cc8a7d3874510dced532d6 (patch)
treeb4615c00c3f3c2f7265013b153688496df21f387 /src/libunixonacid/unixmessage_sender_init_withclosecb.c
parentdb086527035619204569f79672b7a01fc26d8aa4 (diff)
downloadskalibs-c9c7e241a7b68f67e0cc8a7d3874510dced532d6.tar.gz
Add support for advanced closing callbacks to unixmessage_sender_flush.
(Typically, this will be used for refcounting when broadcasting copies of the same fd.)
Diffstat (limited to 'src/libunixonacid/unixmessage_sender_init_withclosecb.c')
-rw-r--r--src/libunixonacid/unixmessage_sender_init_withclosecb.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libunixonacid/unixmessage_sender_init_withclosecb.c b/src/libunixonacid/unixmessage_sender_init_withclosecb.c
new file mode 100644
index 0000000..32743ec
--- /dev/null
+++ b/src/libunixonacid/unixmessage_sender_init_withclosecb.c
@@ -0,0 +1,17 @@
+/* ISC license. */
+
+#include <skalibs/stralloc.h>
+#include <skalibs/genalloc.h>
+#include <skalibs/unixmessage.h>
+
+void unixmessage_sender_init_withclosecb (unixmessage_sender_t *b, int fd, unixmessage_sender_closecb_func_t_ref f, void *p)
+{
+ b->fd = fd ;
+ b->data = stralloc_zero ;
+ b->fds = genalloc_zero ;
+ b->offsets = genalloc_zero ;
+ b->head = 0 ;
+ b->shorty = 0 ;
+ b->closecb = f ;
+ b->closecbdata = 0 ;
+}