diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-06-14 04:09:00 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-06-14 04:09:00 +0000 |
commit | 0445f2a3590f67441602a05fe3924ab677c79ff0 (patch) | |
tree | 1a011697fbd92ca53468efe019c8c93c364ad6a8 /src/libs6/ftrigr_subscribe.c | |
parent | f287ac765101f21b530f1a9886e06976c165c922 (diff) | |
download | s6-0445f2a3590f67441602a05fe3924ab677c79ff0.tar.xz |
Add ftrigr_checksa(), rewrite s6_svlisten_loop() around it
- Fixes the race condition hit by permanent failure, i.e. two ftrig events close to each other
- Requires storing the sequence of events client-side, so an additional stralloc, bleh
- The visible struct ftrigr_s changes, so a major bump is needed -> prepare for 2.6.0.0
- ftrigr_check() is now a trivial wrapper around ftrigr_checksa()
Diffstat (limited to 'src/libs6/ftrigr_subscribe.c')
-rw-r--r-- | src/libs6/ftrigr_subscribe.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libs6/ftrigr_subscribe.c b/src/libs6/ftrigr_subscribe.c index 3766d35..cbbde1e 100644 --- a/src/libs6/ftrigr_subscribe.c +++ b/src/libs6/ftrigr_subscribe.c @@ -7,6 +7,7 @@ #include <skalibs/uint16.h> #include <skalibs/uint32.h> #include <skalibs/tai.h> +#include <skalibs/stralloc.h> #include <skalibs/gensetdyn.h> #include <skalibs/skaclient.h> #include <s6/ftrigr.h> @@ -45,8 +46,7 @@ uint16_t ftrigr_subscribe (ftrigr_t *a, char const *path, char const *re, uint32 ftrigr1_t *p = GENSETDYN_P(ftrigr1_t, &a->data, i) ; p->options = options ; p->state = FR1STATE_LISTENING ; - p->count = 0 ; - p->what = 0 ; + p->what = stralloc_zero ; } return (uint16_t)(i+1) ; } |