summaryrefslogtreecommitdiff
path: root/threadproc/unix/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'threadproc/unix/thread.c')
-rw-r--r--threadproc/unix/thread.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/threadproc/unix/thread.c b/threadproc/unix/thread.c
index 3b6ef2809..d1ae872c6 100644
--- a/threadproc/unix/thread.c
+++ b/threadproc/unix/thread.c
@@ -235,24 +235,22 @@ APR_DECLARE(apr_status_t) apr_thread_join(apr_status_t *retval,
apr_thread_t *thd)
{
apr_status_t stat;
- apr_status_t *thread_stat;
+ void *thread_stat;
if (thd->detached) {
return APR_EINVAL;
}
- if ((stat = pthread_join(*thd->td,(void *)&thread_stat)) == 0) {
- *retval = thd->exitval;
- apr_pool_destroy(thd->pool);
- return APR_SUCCESS;
- }
- else {
+ if ((stat = pthread_join(*thd->td, &thread_stat))) {
#ifdef HAVE_ZOS_PTHREADS
stat = errno;
#endif
-
return stat;
}
+
+ *retval = thd->exitval;
+ apr_pool_destroy(thd->pool);
+ return APR_SUCCESS;
}
APR_DECLARE(apr_status_t) apr_thread_detach(apr_thread_t *thd)