pthread_mutex_lock(&private_client->lock);
- if (private_client->temp_vblank)
+ if (private_client->temp_vblank) {
+ pthread_mutex_unlock(&private_client->lock);
tdm_client_vblank_destroy(private_client->temp_vblank);
+ pthread_mutex_lock(&private_client->lock);
+ }
LIST_FOR_EACH_ENTRY_SAFE(o, oo, &private_client->output_list, link) {
_tdm_client_output_destroy(o);
unsigned int tv_sec, unsigned int tv_usec, void *user_data)
{
tdm_client_vblank_temp *vblank_temp = user_data;
- tdm_private_client_vblank *private_vblank;
- tdm_private_client *private_client;
TDM_RETURN_IF_FAIL(vblank_temp != NULL);
TDM_RETURN_IF_FAIL(vblank != NULL);
- private_vblank = vblank;
- private_client = private_vblank->private_output->private_client;
-
- if (vblank_temp->func) {
- pthread_mutex_unlock(&private_client->lock);
+ if (vblank_temp->func)
vblank_temp->func(sequence, tv_sec, tv_usec, vblank_temp->user_data);
- pthread_mutex_lock(&private_client->lock);
- }
free(vblank_temp);
}