glfw/docs
Camilla Löwy cd22e28495 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
2022-03-03 22:16:59 +01:00
..
build.dox Clarify docs on default GL header inclusion 2020-06-02 18:04:49 +02:00
CMakeLists.txt Add HTML header and footer to docs dependencies 2021-08-26 17:49:54 +02:00
CODEOWNERS Update CODEOWNERS for move to SCSS 2020-09-22 19:50:40 +02:00
compat.dox Wayland: Require xkbcommon 0.5.0 or greater 2021-12-31 13:27:22 +01:00
compile.dox Add glfwInitVulkanLoader 2021-10-27 18:22:05 +02:00
context.dox Replace GL_ARB_debug_output in context guide 2021-04-22 22:37:37 +02:00
CONTRIBUTING.md Update IRC network to Libera.Chat 2021-06-14 19:50:32 +02:00
Doxyfile.in Remove Doxyfile tag deprecated by Doxygen 1.9.3 2022-02-02 21:49:06 +01:00
DoxygenLayout.xml Add tutorial to Doxygen menu 2018-11-05 19:04:27 +01:00
extra.css Improve headings and TOC layout in Doxygen docs 2021-10-25 23:38:41 +02:00
extra.css.map Improve headings and TOC layout in Doxygen docs 2021-10-25 23:38:41 +02:00
extra.scss Improve headings and TOC layout in Doxygen docs 2021-10-25 23:38:41 +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 21:50:57 +02:00
input.dox Add custom target for updating gamepad mappings 2021-08-01 20:16:17 +02:00
internal.dox Add runtime platform selection 2021-10-13 21:47:11 +02:00
intro.dox Add glfwInitVulkanLoader 2021-10-27 18:22:05 +02:00
main.dox Start 3.4 2019-04-16 23:08:39 +02:00
monitor.dox Documentation work 2019-05-17 16:12:52 +02:00
moving.dox Fix formatting in transition guide 2020-09-02 17:41:38 +02:00
news.dox X11: Fix empty event race condition with a pipe 2022-03-03 22:16:59 +01:00
quick.dox Clarify docs on default GL header inclusion 2020-06-02 18:04:49 +02:00
spaces.svg Cleanup 2019-01-25 12:46:46 +01:00
SUPPORT.md Fix some documentation URLs still using http: 2021-06-14 19:50:32 +02:00
vulkan.dox Add glfwInitVulkanLoader 2021-10-27 18:22:05 +02:00
window.dox Use Win32 instead of Windows in Doxygen headings 2021-10-23 20:28:47 +02:00