git: 3cf37d1251bf - main - libthr: add pshared_destroy() helper

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Wed, 01 Feb 2023 23:41:37 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=3cf37d1251bf71b2171e67af8f2ca43cbe3d874d

commit 3cf37d1251bf71b2171e67af8f2ca43cbe3d874d
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-02-01 21:06:04 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-02-01 22:59:27 +0000

    libthr: add pshared_destroy() helper
    
    Rewviewed by:   markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D38345
---
 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 d0219d0488f4..37b44ab73582 100644
--- a/lib/libthr/thread/thr_pshared.c
+++ b/lib/libthr/thread/thr_pshared.c
@@ -213,6 +213,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)
 {
@@ -248,13 +259,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);
 }