[Bug 25301] New: Occasional sock_check_pollhup() error on Solaris

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Nov 26 10:52:26 CST 2010


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

           Summary: Occasional sock_check_pollhup() error on Solaris
           Product: Wine
           Version: 1.3.7
          Platform: x86
        OS/Version: Solaris
            Status: NEW
          Severity: normal
          Priority: P2
         Component: wineserver
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: fgouget at codeweavers.com


Created an attachment (id=32142)
 --> (http://bugs.winehq.org/attachment.cgi?id=32142)
Additional sock_check_pollhup() traces

On Solaris 10u5 I would sometimes get the following error:

   sock_init: ERROR in sock_check_pollhup()

Apparently I'm not the only one since it's present in the log of bug 18334
(although that bug is about something else entirely).

I have now found a way to reliably reproduce it on my system which is to run
the following WineLib command:

   ./wine memtest.exe.so mmap 50 100

Of course make sure that the wine server is not running yet.

The purpose of sock_check_pollhup() is to figure out what poll() does when a
socket is closed. The error happens because the poll() call that immediately
follows a shutdown() call returns no event.

I then discovered that giving poll() a 1ms timeout fixes this problem although
it still runs in 0.014 to 0.046ms.

Note that strictly speaking poll() is allowed to return nothing when given a
0ms timeout: 'if timeout is 0, poll() returns immediately', which it does.
Still it's annoying and could well be considered a poll() bug.

The workaround seems ok though, especially since this is in code that's only
invoked at startup.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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