summaryrefslogtreecommitdiff
path: root/src/libunixonacid/skaclient_start_async.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-01-06 00:31:40 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-01-06 00:31:40 +0000
commitaa081897ac57658482143f29f4b88b1ebbddede3 (patch)
treecc16f9e77185652899ed7ea798b56031c69ece80 /src/libunixonacid/skaclient_start_async.c
parent5b4cf1798bfaf7be1dfaea36614757db80cae23d (diff)
downloadskalibs-aa081897ac57658482143f29f4b88b1ebbddede3.tar.xz
- Bugfixes in unixmessage/skaclient (short writes / fd leakage / DoS)v2.1.0.0
- ABI change: unixmessage protocol header is now 6 bytes (was 8) - API change: skaclient_start(_async) now takes an "options" argument - version increase to 2.1.0.0
Diffstat (limited to 'src/libunixonacid/skaclient_start_async.c')
-rw-r--r--src/libunixonacid/skaclient_start_async.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libunixonacid/skaclient_start_async.c b/src/libunixonacid/skaclient_start_async.c
index 4dbbf1c..79ea5df 100644
--- a/src/libunixonacid/skaclient_start_async.c
+++ b/src/libunixonacid/skaclient_start_async.c
@@ -1,6 +1,7 @@
/* ISC license. */
#include <errno.h>
+#include <skalibs/uint32.h>
#include <skalibs/error.h>
#include <skalibs/kolbak.h>
#include <skalibs/skaclient.h>
@@ -21,6 +22,7 @@ int skaclient_start_async (
kolbak_closure_t *q,
unsigned int qlen,
char const *path,
+ uint32 options,
char const *before,
unsigned int beforelen,
char const *after,
@@ -38,14 +40,13 @@ int skaclient_start_async (
return 0 ;
}
a->pid = 0 ;
- a->options = 0 ;
+ a->options = options & ~SKACLIENT_OPTION_WAITPID ;
if (!kolbak_enqueue(&a->kq, (unixmessage_handler_func_t_ref)&skaclient_start_cb, blah))
{
skaclient_end(a) ;
return 0 ;
}
- blah->asyncin = &a->asyncin ;
- blah->asyncout = &a->asyncout ;
+ blah->a = a ;
blah->after = after ;
blah->afterlen = afterlen ;
return 1 ;