diff options
author | Jamey Sharp <jamey@minilop.net> | 2010-04-17 17:59:11 -0700 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2010-04-17 18:20:41 -0700 |
commit | b0525e242368fffbc77ebb45293f34e80847e65a (patch) | |
tree | 3665cf5324cb6a0b88a99d79da850ce4aa7220d3 /src/xcbint.h | |
parent | eff3851ba80c42b5b3ba240f7e9049d7b0fac6f0 (diff) |
Always wake up readers after writing.
Since writers must make sure they read as well, threads may have gone to
sleep waiting for the opportunity to read. The writer must wake up one
of those readers or the application can hang.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Josh Triplett <josh@freedesktop.org>
Diffstat (limited to 'src/xcbint.h')
-rw-r--r-- | src/xcbint.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/xcbint.h b/src/xcbint.h index 9d44238..f07add8 100644 --- a/src/xcbint.h +++ b/src/xcbint.h @@ -137,6 +137,8 @@ typedef struct _xcb_in { int _xcb_in_init(_xcb_in *in); void _xcb_in_destroy(_xcb_in *in); +void _xcb_in_wake_up_next_reader(xcb_connection_t *c); + int _xcb_in_expect_reply(xcb_connection_t *c, uint64_t request, enum workarounds workaround, int flags); void _xcb_in_replies_done(xcb_connection_t *c); |