diff options
Diffstat (limited to 'src/libunixonacid/skaclient_putmsgv.c')
-rw-r--r-- | src/libunixonacid/skaclient_putmsgv.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libunixonacid/skaclient_putmsgv.c b/src/libunixonacid/skaclient_putmsgv.c new file mode 100644 index 0000000..e53935a --- /dev/null +++ b/src/libunixonacid/skaclient_putmsgv.c @@ -0,0 +1,16 @@ +/* ISC license. */ + +#include <skalibs/kolbak.h> +#include <skalibs/skaclient.h> +#include <skalibs/unixmessage.h> + +int skaclient_putmsgv_and_close (skaclient_t *a, unixmessage_v_t const *m, unsigned char const *bits, unixmessage_handler_func_t *cb, void *result) +{ + if (!kolbak_enqueue(&a->kq, cb, result)) return 0 ; + if (!unixmessage_putv_and_close(&a->syncout, m, bits)) + { + kolbak_unenqueue(&a->kq) ; + return 0 ; + } + return 1 ; +} |