[Bug 52332] New: Incoming data on socket only satisfies the first async I/O request in the queue
WineHQ Bugzilla
wine-bugs at winehq.org
Mon Jan 3 13:46:21 CST 2022
https://bugs.winehq.org/show_bug.cgi?id=52332
Bug ID: 52332
Summary: Incoming data on socket only satisfies the first async
I/O request in the queue
Product: Wine
Version: 7.0-rc3
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wineserver
Assignee: wine-bugs at winehq.org
Reporter: jinoh.kang.kr at gmail.com
CC: z.figura12 at gmail.com
Distribution: ---
async_set_result() calls async_reselect() *before* de-queueing the async
request, which means that async_waiting() will return 0 since it *still* sees a
pending I/O request in the queue.
The problem manifests when the target file object is a socket. Sockets use
async_waiting() to determine whether the next poll event mask shall include the
POLLIN flag. Since async_waiting() returns zero, sock_reselect() skips the
flag. This hangs any subsequent I/O read requests.
Known impacted applications include KakaoTalk (an instant messaging
application): this bug causes the log-in to timeout, preventing normal use of
the app.
I have the fix, but I am yet to bisect the regression commit.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list