X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=utils%2Fthread_util.c;h=6852a2138fa2e64f8d13700a4f122a39aa688976;hp=bccb74626d3ccbe4caee8a4e80f2b7e22fc02217;hb=88cfe534a698a0562e81345957a50714af1453bc;hpb=d1ae2829ff0fd2a96c16a0c8c5420efaa47d7b30 diff --git a/utils/thread_util.c b/utils/thread_util.c index bccb7462..6852a213 100644 --- a/utils/thread_util.c +++ b/utils/thread_util.c @@ -694,18 +694,16 @@ static void _unlock_and_destroy(struct threadpool *self) PTHREAD_VERIFY(pthread_mutex_unlock(&self->mutex)); - if(!threads) - return; - + if(threads) { unsigned i, count = _threadpool_count_parallel(self); for(i = 0; i != count; ++i) PTHREAD_VERIFY(pthread_join(threads[i], NULL)); - } - free(threads); - PTHREAD_VERIFY(pthread_cond_destroy(&self->cond)); - PTHREAD_VERIFY(pthread_mutex_destroy(&self->mutex)); + free(threads); + PTHREAD_VERIFY(pthread_cond_destroy(&self->cond)); + PTHREAD_VERIFY(pthread_mutex_destroy(&self->mutex)); + } _serial_destroy(self); }