As _xcb_out_write gets pieces of the output queue written, it should update request_written to reflect exactly how much work it has done. (Then XCBWaitForReply can stop flushing when the request it needs is on the wire, and various sanity checks become more sane.)
I think this bug only applies to older versions of libxcb and the current code does the right thing. Could you check?
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.