[Bug 37135] Wine fails to handle EWOULDBLOCK return from sendmsg

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Aug 5 08:21:46 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=37135

Claude <francois.pinet at irstea.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |francois.pinet at irstea.fr

--- Comment #1 from Claude <francois.pinet at irstea.fr> ---
Thank you for these useful information.
This bug makes Wine unusable on the last Solaris version (11.2) - numerous
random crashes occur.
The following update has fixed the issue (I have used Wine 1.7.0):
1) In procedure “send_client_fd” (server/request.c):
Replace:
ret = sendmsg( get_unix_fd( process->msg_fd ), &msghdr, 0 );
if (ret == sizeof(handle)) return 0;
by:
    for (;;){ ret = sendmsg( get_unix_fd( process->msg_fd ), &msghdr, 0 );
        if (ret == sizeof(handle)) return 0;}
2) In procedure “wine_server_send_fd” (dlls/ntdll/server.c)
Replace: 
server_protocol_perror( "sendmsg" );
By:
/*server_protocol_perror( "sendmsg" );*/

This is a “very dirty” update but it seems this have fixed the problem for
Solaris 11.2.
If someone could help to implement a reliable patch for the last versions of
Wine… This will make Wine useable on the last versions of Solaris.

-- 
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