[Bug 38224] New: AcceptEx detaches the socket from its IO completion port
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Mar 13 09:47:18 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=38224
Bug ID: 38224
Summary: AcceptEx detaches the socket from its IO completion
port
Product: Wine
Version: 1.6.2
Hardware: x86
OS: Mac OS X
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: winsock
Assignee: wine-bugs at winehq.org
Reporter: mterrisse at free.fr
Created attachment 51024
--> https://bugs.winehq.org/attachment.cgi?id=51024
Source + binary for BugAcceptEx
Hello,
On a server I have a listening socket
lListeningSocket := socket (PF_INET, SOCK_STREAM, IPPROTO_TCP);
CreateIoCompletionPort (lListeningSocket, lIoCompletionPort, 0, 0);
bind (lListeningSocket, PSockAddr (@lAddress)^, SizeOf (TSockAddrIn));
listen (lListeningSocket, 1);
and I prepare a socket for a new connection
lSocket := socket (PF_INET, SOCK_STREAM, IPPROTO_TCP);
CreateIoCompletionPort (lSocket, lIoCompletionPort, 0, 0);
then call AcceptEx
lPtrAcceptEx (lListeningSocket, lSocket, ...);
GetQueuedCompletionStatus (lIoCompletionPort, ...) signals completion for
AcceptEx for an incoming connection (so CreateIoCompletionPort
(lListeningSocket, ...) works fine), but never signals completion for events on
lSocket, not even a disconnection.
If I call again
CreateIoCompletionPort (lSocket, lIoCompletionPort, 0, 0);
after the completion of AcceptEx, it works fine.
So AcceptEx as detached lSocket from the IO completion port.
To help reproducting it, I created a little command line server BugAcceptEx.exe
Here attached is the code (Delphi) and the executable.
In a command prompt run
BugAcceptEx 1234
and in another command prompt
telnet localhost 1234
and press a key
Under Windows it works fine, under Mac + Wine the server signals the incoming
connection but never signals data nor disconnection.
Now if you do
BugAcceptEx 1235 WithPatch
and
telnet localhost 1235
it works fine
Thank you for your help.
Regards,
Michel Terrisse
--
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