- pthread_mutex_lock(&p->mutex);
-
- while (p->is_sorting)
- pthread_cond_wait(&p->cond_sorting, &p->mutex);
-
- p->exit_flag = 1;
-
- pthread_cond_broadcast(&p->work_available);
-
- pthread_mutex_unlock(&p->mutex);
- pthread_join(p->thread_id, 0);
- pthread_cond_destroy(&p->work_available);
- pthread_cond_destroy(&p->cond_sorting);
- pthread_mutex_destroy(&p->mutex);
-
- xfree(p->alt_buf);
+ pthread_mutex_lock(&p->mutex);
+
+ while (p->is_sorting)
+ pthread_cond_wait(&p->cond_sorting, &p->mutex);
+
+ p->exit_flag = 1;
+
+ pthread_cond_broadcast(&p->work_available);
+
+ pthread_mutex_unlock(&p->mutex);
+ pthread_join(p->thread_id, 0);
+ pthread_cond_destroy(&p->work_available);
+ pthread_cond_destroy(&p->cond_sorting);
+ pthread_mutex_destroy(&p->mutex);
+