diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2021-02-17 14:01:58 -0800 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2021-02-17 14:01:58 -0800 |
commit | e6bea65b6e53e7e283d30e1437da827c6325c589 (patch) | |
tree | 39110a12cd010c7a325c1f68b17567ca290bc6d5 /src | |
parent | 55db80c6970b8643b4777c3b5586531e2d2e7469 (diff) |
rototiller: add rototiller_quiesce()
This is a wrapper around threads_wait_idle(), so the caller
can easily synchronize with outstanding work before tearing
things down or otherwise rejiggering the world.
Diffstat (limited to 'src')
-rw-r--r-- | src/rototiller.c | 7 | ||||
-rw-r--r-- | src/rototiller.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/rototiller.c b/src/rototiller.c index 18f0376..2a3d45c 100644 --- a/src/rototiller.c +++ b/src/rototiller.c @@ -75,6 +75,13 @@ int rototiller_init(void) } +/* wait for all threads to be idle */ +void rototiller_quiesce(void) +{ + threads_wait_idle(rototiller_threads); +} + + void rototiller_shutdown(void) { threads_destroy(rototiller_threads); diff --git a/src/rototiller.h b/src/rototiller.h index fde7d43..56e1a90 100644 --- a/src/rototiller.h +++ b/src/rototiller.h @@ -26,6 +26,7 @@ typedef struct rototiller_module_t { } rototiller_module_t; int rototiller_init(void); +void rototiller_quiesce(void); void rototiller_shutdown(void); const rototiller_module_t * rototiller_lookup_module(const char *name); void rototiller_get_modules(const rototiller_module_t ***res_modules, size_t *res_n_modules); |