Michael Stapelberg 0d8b6714e3 Move XCB event handling into xcb_prepare_cb.
Previously, we used ev_check watchers, which are executed at the beginning of an
event loop iteration.

This was problematic if one of the handlers happened to fill the XCB event
queue, e.g. by reading a reply from X11 and an event happened in the meantime.

In that situation, we would hand control to the event loop, entirely ignoring
the pending event. This would manifest itself as a 1-minute hang,
reproducible (sometimes) in the i3 testsuite.

issue #2790 describes an instance of this issue in i3bar, and we fixed that by
changing the watcher priority to run last. Handling events in xcb_prepare_cb has
the same effect, as ev_prepare watchers are run just before the event loop goes
to sleep.
2017-10-23 21:06:13 +02:00
2017-09-30 11:41:57 +02:00
2017-10-15 14:22:41 +02:00
2017-09-30 11:41:57 +02:00
2017-10-23 21:06:13 +02:00
2017-09-04 07:53:25 +02:00
2016-12-09 08:37:49 +01:00
2011-08-28 17:44:42 +02:00
2017-09-10 07:43:53 +02:00
2017-09-04 07:53:25 +02:00

Logo i3: A tiling window manager

Build Status Issue Stats Pull Request Stats

i3 is a tiling window manager for X11.

For more information about i3, please see the project's website and online documentation.

For information about contributing to i3, please see CONTRIBUTING.md.

Description
No description provided
Readme 15 MiB
Languages
C 58.6%
Perl 29%
Raku 9.4%
Ruby 1.2%
Shell 0.7%
Other 1.1%