summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Makonnen <mtm@FreeBSD.org>2004-03-29 13:51:51 +0000
committerMike Makonnen <mtm@FreeBSD.org>2004-03-29 13:51:51 +0000
commit8c223652fbfc2edf203b28b5886e436126b8caf0 (patch)
treebfbaba814cce9c5b344c9743059e9558f8eab6a1
parent2c08d6bea1dfb85a6e583cfd274e5f3ab0d7d105 (diff)
Notes
-rw-r--r--lib/libthr/thread/thr_detach.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libthr/thread/thr_detach.c b/lib/libthr/thread/thr_detach.c
index a2ad4d4b8574b..7d87d05c65022 100644
--- a/lib/libthr/thread/thr_detach.c
+++ b/lib/libthr/thread/thr_detach.c
@@ -41,14 +41,14 @@ __weak_reference(_pthread_detach, pthread_detach);
int
_pthread_detach(pthread_t pthread)
{
- if (pthread == NULL || pthread->magic != PTHREAD_MAGIC)
+ if (pthread->magic != PTHREAD_MAGIC)
return (EINVAL);
UMTX_LOCK(&pthread->lock);
- if (pthread->attr.flags & PTHREAD_DETACHED) {
+ if ((pthread->attr.flags & PTHREAD_DETACHED) != 0) {
UMTX_UNLOCK(&pthread->lock);
- return (EINVAL);
+ return ((pthread->state == PS_DEAD) ? ESRCH : EINVAL);
}
pthread->attr.flags |= PTHREAD_DETACHED;