Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.1.0
-
None
Description
I found the printing problem that locks up the entire session and produces the disconnect.
When connecting the Windows 2010 and printing the document in Microsoft Word, I encountered this problem.
This problem isn't always produced and it's sometimes produced.
So, I have analyzed the printing part of the guacamole server project.
I have found the following issue:
If guac_rdp_print_job_set_state() function is called after guac_rdp_print_job_wait_for_ack() call, this produces the lock of the entire session.
static void guac_rdp_print_job_set_state(guac_rdp_print_job* job, guac_rdp_print_job_state state) { pthread_mutex_lock(&(job->state_lock)); /* Update stream state, signalling modification */ job->state = state; pthread_cond_signal(&(job->state_modified)); pthread_mutex_unlock(&(job->state_lock)); }
static int guac_rdp_print_job_wait_for_ack(guac_rdp_print_job* job) { /* Wait for ack if stream open and not yet received */ pthread_mutex_lock(&(job->state_lock)); if (job->state == GUAC_RDP_PRINT_JOB_WAITING_FOR_ACK) pthread_cond_wait(&job->state_modified, &job->state_lock); /* Reset state if ack received */ int got_ack = (job->state == GUAC_RDP_PRINT_JOB_ACK_RECEIVED); if (got_ack) job->state = GUAC_RDP_PRINT_JOB_WAITING_FOR_ACK; /* Return whether ack was successfully received */ pthread_mutex_unlock(&(job->state_lock)); return got_ack; }
I think that this issue can produce a printing problem and a lock of the entire session.
Please let me know whether my thought is correct.
Thanks.
Attachments
Issue Links
- is duplicated by
-
GUACAMOLE-1684 Guacamole Freezes when printing
-
- Closed
-
-
GUACAMOLE-1354 Printing problem that freezes the guacd
-
- Closed
-