[Bug 5534] DirectPlay games hang when exiting multiplayer

Wine Bugs wine-bugs at winehq.org
Mon Nov 27 04:49:59 CST 2006


http://bugs.winehq.org/show_bug.cgi?id=5534


blin at gmx.net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |blin at gmx.net




------- Additional Comments From blin at gmx.net  2006-27-11 04:49 -------
There's two issues I can see in the trace. The first is the "Unknown SOL_SOCKET
optname 0xfffffffb", which is caused by winsock2.h contains this: 
#define SO_DONTLINGER   (int)(~SO_LINGER)
and there's no unix equivalent to SO_DONTLINGER, so it's not converted.
It just seems to unset SO_LINGER, though. unfortunately it's not possible to
handle this in convert_sockopt, at least not the way it's designed right now.

convert_sockopt also can't handle #define SO_MAX_MSG_SIZE   0x2003, which also
has no direct equivalent, but from
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/sol_socket_socket_options.asp
I gather that this is not an actual socket option but a query command.

Another issue looks harmless, but I suspect it's also an error: 
warn:winsock:WSAIoctl 	unsupported WS_IOCTL cmd (48000016)

WSAIoctl doesn't know this command for two reasons. First, 48000016 is
SIO_ADDRESS_LIST_QUERY, which the current wine code does not handle. Second, the
 value that is checked for if SIO_ADDRESS_LIST_QUERY is expanded by the
preprocessor is 88000016, because it's constructed from IOC_OUT|IOC_WS2|22, and
IOC_OUT in Linux is 80000000, in windows it's 40000000.

I'm not sure what the correct way to fix this would be.



-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list