git: 62729a88b85d - stable/12 - libthr: add pshared_destroy() helper
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 27 Aug 2023 07:11:41 UTC
The branch stable/12 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=62729a88b85d3ab6fb61940594b0882e7062cc32 commit 62729a88b85d3ab6fb61940594b0882e7062cc32 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2023-02-01 21:06:04 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2023-08-27 07:10:45 +0000 libthr: add pshared_destroy() helper (cherry picked from commit 3cf37d1251bf71b2171e67af8f2ca43cbe3d874d) --- lib/libthr/thread/thr_pshared.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/libthr/thread/thr_pshared.c b/lib/libthr/thread/thr_pshared.c index 83714785f9b1..56def22f9ab9 100644 --- a/lib/libthr/thread/thr_pshared.c +++ b/lib/libthr/thread/thr_pshared.c @@ -208,6 +208,17 @@ pshared_clean(void *key, void *val) _umtx_op(NULL, UMTX_OP_SHM, UMTX_SHM_DESTROY, key, NULL); } +static void +pshared_destroy(struct pthread *curthread, void *key) +{ + void *val; + + pshared_wlock(curthread); + val = pshared_remove(key); + pshared_unlock(curthread); + pshared_clean(key, val); +} + void * __thr_pshared_offpage(void *key, int doalloc) { @@ -243,13 +254,9 @@ void __thr_pshared_destroy(void *key) { struct pthread *curthread; - void *val; curthread = _get_curthread(); - pshared_wlock(curthread); - val = pshared_remove(key); - pshared_unlock(curthread); - pshared_clean(key, val); + pshared_destroy(curthread, key); pshared_gc(curthread); }