Hello Guacamole Developers,

I hope this email finds you well.


I am using VNC with guacd 1.6.0 version.


I am finding an issue where user joins VNC session and doesn’t get display
in browser. This is happening when we run https://giphy.com for display
frame update.

I'm currently looking into the guacamole-server source code, specifically
the display synchronization logic in src/libguac/display.c. I have a
question about the behavior of the guac_display_dup() function.

In this function, there is a call to guac_flag_wait_and_lock() to wait for
any in-progress frame rendering to complete before synchronizing the
display for a new user. The comment just above this call says:




*/* ... A timeout is used here to avoid blocking indefinitely if a frame is
already*

* * in progress. */*

guac_flag_wait_and_lock(&display->render_state,

        GUAC_DISPLAY_RENDER_STATE_FRAME_NOT_IN_PROGRESS);


However, from what I can tell, guac_flag_wait_and_lock() seems to be a
blocking call without a timeout. This could potentially cause
the guac_display_dup() function to hang indefinitely if
the GUAC_DISPLAY_RENDER_STATE_FRAME_NOT_IN_PROGRESS flag is never set for
some reason during an active connection.

Could you please clarify if this is the intended behavior? Perhaps I am
missing something regarding a timeout mechanism that is implemented
elsewhere.

Need your input to fix this issue.

Thank you for your time and for all the great work on Guacamole.


Best regards,

Dilip

-- 


This communication (including any attachments) is intended for the sole 
use of the intended recipient and may contain confidential, non-public, 
and/or privileged material. Use, distribution, or reproduction of this 
communication by unintended recipients is not authorized. If you received 
this communication in error, please immediately notify the sender and then 
delete all copies of this communication from your system.

Reply via email to