mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-09 07:18:06 +02:00
flags member of Display structure needs to be marked volatile
Since the Xlib multithreaded code checks the flags variable in _XFlushInt to see if the other threads are done yet, it has to be marked volatile so the compiler doesn't optimize out re-loading it on each trip through the while loop and end up in an impossible-to-exit infinite loop of CPU chewing. Part of fix for Sun bug 6409332: infinite loop in XFlushInt() on x86/32-bit <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6409332> Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
This commit is contained in:
parent
ef5c446395
commit
9bad8309ef
1 changed files with 1 additions and 1 deletions
|
|
@ -108,7 +108,7 @@ struct _XDisplay
|
|||
int nscreens; /* number of screens on this server*/
|
||||
Screen *screens; /* pointer to list of screens */
|
||||
unsigned long motion_buffer; /* size of motion buffer */
|
||||
unsigned long flags; /* internal connection flags */
|
||||
volatile unsigned long flags; /* internal connection flags */
|
||||
int min_keycode; /* minimum defined keycode */
|
||||
int max_keycode; /* maximum defined keycode */
|
||||
KeySym *keysyms; /* This server's keysyms */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue