Michael Jumper created GUACAMOLE-200:
----------------------------------------

             Summary: read() in RDPDR printer can block user input
                 Key: GUACAMOLE-200
                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-200
             Project: Guacamole
          Issue Type: Bug
          Components: RDP
    Affects Versions: 0.9.11-incubating, 0.9.10-incubating
            Reporter: Michael Jumper
            Assignee: Michael Jumper
            Priority: Critical
             Fix For: 0.9.12-incubating


Recent changes moved the RDP printer within Guacamole from asynchronous 
transfer (independent of received "ack" messages) to synchronous transfer. This 
is fin in itself, but the {{read()}} call pulling more data from GhostScript in 
reponse to an "ack" actually occurs within the handler for that "ack". If 
GhostScript is busy processing things and that {{read()}} blocks, handling of 
user input as a whole gets blocked.

The actual reads need to be moved into a printer-specific thread, with receipt 
of "ack" signalling that more data should be read, allowing the ack handler to 
finish regardless of GhostScript's state.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to