[Bug 30020] Tribes Ascend does not connect to the authentication service

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Apr 23 20:52:38 CDT 2012


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

Witold Baryluk <baryluk-winehq at smp.if.uj.edu.pl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |baryluk-winehq at smp.if.uj.ed
                   |                            |u.pl

--- Comment #14 from Witold Baryluk <baryluk-winehq at smp.if.uj.edu.pl> 2012-04-23 20:52:38 CDT ---
It looks that application calls

typedef struct linger {
  u_short l_onoff;
  u_short l_linger;
} linger;

linger l;
setsockopt(socket_fd, SOL_SOCKET, SO_LINGER, &l, sizeof(l));

that it:

setsockopt(0x029, 0xffff, 0x80, some_pointer, 4);

based on

http://www.koders.com/c/fidC79035BEED7D3E043591E5B881A6F2D444287D5C.aspx

and

http://msdn.microsoft.com/en-us/library/windows/desktop/ms739165%28v=vs.85%29.aspx


Basically SO_LINGER is also supported on Unix, but on Linux a struct have
different definition (according to socket(7) manpage):

struct linger {
    int l_onoff;    /* linger active */
    int l_linger;   /* how many seconds to linger for */
};

Temporary workaround would be to just ignore SO_LINGER calls, and return 0
(success), and hope it will work (because now probably application just sees 22
!= 0 and does immiediete exit, but actually ignoring it may work). Full
solution will be to create proper mapping in setsockopt and possibly for
completion also in getsockopt.

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