Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-200

read() in RDPDR printer can block user input

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.9.10-incubating, 0.9.11-incubating
    • Fix Version/s: 0.9.12-incubating
    • Component/s: RDP
    • Labels:
      None

      Description

      Recent changes moved the RDP printer within Guacamole from asynchronous transfer (independent of received "ack" messages) to synchronous transfer. This is fine 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.

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            mike.jumper Michael Jumper
            Reporter:
            mike.jumper Michael Jumper
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development