Fix threading issues with FreeRDP.

This commit is contained in:
Michael Jumper 2012-11-27 10:51:26 -08:00
parent b606aa2f7b
commit 51c11ca572

View File

@ -168,6 +168,8 @@ int rdp_guac_client_handle_messages(guac_client* client) {
} }
} }
pthread_mutex_lock(&(guac_client_data->rdp_lock));
/* Check the libfreerdp fds */ /* Check the libfreerdp fds */
if (!freerdp_check_fds(rdp_inst)) { if (!freerdp_check_fds(rdp_inst)) {
guac_error = GUAC_STATUS_BAD_STATE; guac_error = GUAC_STATUS_BAD_STATE;
@ -201,6 +203,8 @@ int rdp_guac_client_handle_messages(guac_client* client) {
return 1; return 1;
} }
pthread_mutex_unlock(&(guac_client_data->rdp_lock));
/* Flush any audio */ /* Flush any audio */
if (guac_client_data->audio != NULL) { if (guac_client_data->audio != NULL) {
pthread_mutex_lock(&(guac_client_data->update_lock)); pthread_mutex_lock(&(guac_client_data->update_lock));