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 Clarify docs on default GL header inclusion 2020-06-02 19:02:10 +02:00
CMakeLists.txt Put docs target in GLFW3 folder 2020-02-13 22:02:06 +01:00
CODEOWNERS Update CODEOWNERS for move to SCSS 2020-09-30 16:09:54 +02:00
compat.dox Cocoa: Add support for VK_EXT_metal_surface 2020-01-17 15:38:54 +01:00
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 Add tutorial to Doxygen menu 2018-11-05 19:04:27 +01:00
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 Removed invisible element. 2013-09-21 15:18:49 +04:30
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 Remove unmaintained internal Doxygen docs 2018-01-17 11:25:32 +01:00
intro.dox Clarify documentation for hints 2021-06-09 18:36:13 +02:00
main.dox Documentation work 2019-04-05 03:26:52 +02:00
monitor.dox Documentation work 2019-05-19 18:26:51 +02:00
moving.dox Fix formatting in transition guide 2020-09-02 22:29:37 +02:00
news.dox X11: Fix empty event race condition with a pipe 2022-03-13 16:17:25 +01:00
quick.dox Clarify docs on default GL header inclusion 2020-06-02 19:02:10 +02:00
spaces.svg Cleanup 2019-01-25 12:46:46 +01:00
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