Thread Per-Request (Cont.) /* unlock requests mutex. */ pthread_mutex_unlock(&pdata->q->mutex); /* wait for all active handler threads to terminate. */ pthread_mutex_lock(&pdata->threads->mutex); while (pdata->threads->num_threads > 0) { pthread_cond_wait(&pdata->threads->cond, &pdata->threads->mutex); } pthread_mutex_unlock(&pdata->threads->mutex); return NULL; }