glfw/docs
Camilla Löwy 5ccc756c56 X11: Fix empty event race condition with a pipe
There is a seemingly unavoidable race condition when waiting for data on
the X11 display connection, as long as any other thread is also making
Xlib calls.  The event data we are waiting for could be read by the
other thread as part of looking for the reply to its request, before our
poll has begun.

This commit replaces the X11 event sent by glfwPostEmptyEvent with
writing to an unnamed pipe.  The race condition remains if other Xlib
calls are made on other threads, but glfwPostEmptyEvent should now be
race-free.

This commit is based on work by pcwalton, OlivierSohn, kovidgoyal and
joaodasilva.

Closes #2033
Related to #379
Related to #1281
Related to #1285

(cherry picked from commit cd22e28495)
2022-03-13 16:17:25 +01:00
..
build.dox
CMakeLists.txt
CODEOWNERS Update CODEOWNERS for move to SCSS 2020-09-30 16:09:54 +02:00
compat.dox
compile.dox Expand list of distro derivatives slightly 2021-08-03 15:59:24 +02:00
context.dox Replace GL_ARB_debug_output in context guide 2021-06-09 18:26:36 +02:00
CONTRIBUTING.md Update IRC network to Libera.Chat 2021-06-25 00:23:11 +02:00
Doxyfile.in Remove Doxyfile tags obsoleted by Doxygen 1.9.2 2021-10-17 20:34:05 +02:00
DoxygenLayout.xml
extra.css Migrate to Sass for Doxygen custom stylesheets 2020-09-16 13:31:29 +02:00
extra.css.map Migrate to Sass for Doxygen custom stylesheets 2020-09-16 13:31:29 +02:00
extra.scss Use consistent indentation for Doxygen custom stylesheet 2020-09-30 16:09:46 +02:00
footer.html
header.html Improve docs scaling on mobile and small screens 2020-09-02 22:30:43 +02:00
input.dox Add custom target for updating gamepad mappings 2021-08-03 16:00:30 +02:00
internal.dox
intro.dox Clarify documentation for hints 2021-06-09 18:36:13 +02:00
main.dox
monitor.dox
moving.dox
news.dox X11: Fix empty event race condition with a pipe 2022-03-13 16:17:25 +01:00
quick.dox
spaces.svg
SUPPORT.md Fix some documentation URLs still using http: 2021-06-25 00:23:11 +02:00
vulkan.dox Fix minor typo: If if -> If. 2021-02-09 21:49:17 +01:00
window.dox Remove claim that EGL is not supported on macOS 2021-06-09 18:36:42 +02:00