diff options
author | Hodong <hodong@nimfsoft.art> | 2024-02-04 10:14:22 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2024-02-04 11:50:56 +0000 |
commit | a03f768612ad98a886458197c531a0b92203bf84 (patch) | |
tree | ae67bdf2c5dbe910279e64541f7f2cc4ae045f04 | |
parent | a67e5e7c9832a4017e97495ec9ff1d6d4f392ca6 (diff) | |
download | src-a03f768612ad98a886458197c531a0b92203bf84.tar.gz src-a03f768612ad98a886458197c531a0b92203bf84.zip |
libstdthreads: destroy mutexattr in mtx_init()
PR: 276818
MFC after: 1 week
-rw-r--r-- | lib/libstdthreads/mtx.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/libstdthreads/mtx.c b/lib/libstdthreads/mtx.c index 719ba6486e41..3027a4e48c8d 100644 --- a/lib/libstdthreads/mtx.c +++ b/lib/libstdthreads/mtx.c @@ -43,7 +43,7 @@ int mtx_init(mtx_t *mtx, int type) { pthread_mutexattr_t attr; - int mt; + int mt, res; switch (type) { case mtx_plain: @@ -60,11 +60,12 @@ mtx_init(mtx_t *mtx, int type) if (pthread_mutexattr_init(&attr) != 0) return (thrd_error); - if (pthread_mutexattr_settype(&attr, mt) != 0) - return (thrd_error); - if (pthread_mutex_init(mtx, &attr) != 0) - return (thrd_error); - return (thrd_success); + res = thrd_success; + if (pthread_mutexattr_settype(&attr, mt) != 0 || + pthread_mutex_init(mtx, &attr) != 0) + res = thrd_error; + pthread_mutexattr_destroy(&attr); + return (res); } int |