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

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Aug 16 23:32:26 CDT 2014


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

            Bug ID: 37135
           Summary: Wine fails to handle EWOULDBLOCK return from sendmsg
           Product: Wine
           Version: 1.7.24
          Hardware: x86
                OS: Solaris
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: carson at taltos.org

On Solaris 11.2, launching any application via "wine c:\somepath\foo.exe"
frequently fails, printing the following errors:

sendmsg: Resource temporarily unavailable
sendmsg: Resource temporarily unavailable
Protocol error: process 000c: Protocol error: process 000

Debugging, I find these errors come from 2 different places. Fixing both makes
wine run reliably.

server/request.c
dlls/ntdll/server.c

The fix for ./dlls/ntdll/server.c is easy, just add EWOULDBLOCK to the EINTR
case that's already present.

dlls/ntdll/server.c requires the addition of a loop around sendmsg as well as
handling the non-fatal EWOULDBLOCK (and it should probably retry EINTR as
well).

I can generate patches if desired, but the fixes are fairly obvious.

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