From 1b6e9985960a1079be81a576d52aa7f3fe47c92b Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Thu, 5 Jan 2017 18:02:22 -0800 Subject: Add nng_shutdown() for sockets to help avoid close race. Also we added a two phase shutdown for threads. --- src/core/thread.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/core/thread.c') diff --git a/src/core/thread.c b/src/core/thread.c index d1f46e3f..74d80513 100644 --- a/src/core/thread.c +++ b/src/core/thread.c @@ -147,6 +147,19 @@ nni_thr_run(nni_thr *thr) } +void +nni_thr_wait(nni_thr *thr) +{ + nni_plat_mtx_lock(&thr->mtx); + thr->stop = 1; + nni_plat_cv_wake(&thr->cv); + while (!thr->done) { + nni_plat_cv_wait(&thr->cv); + } + nni_plat_mtx_unlock(&thr->mtx); +} + + void nni_thr_fini(nni_thr *thr) { -- cgit v1.2.3-70-g09d2