webservices: Implement WS_CHANNEL_PROPERTY_NO_DELAY.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
9d5e17654d
commit
a613bee276
|
@ -971,6 +971,7 @@ static HRESULT connect_channel_tcp( struct channel *channel )
|
||||||
{
|
{
|
||||||
struct sockaddr_storage storage;
|
struct sockaddr_storage storage;
|
||||||
struct sockaddr *addr = (struct sockaddr *)&storage;
|
struct sockaddr *addr = (struct sockaddr *)&storage;
|
||||||
|
BOOL nodelay = FALSE;
|
||||||
int addr_len;
|
int addr_len;
|
||||||
WS_URL_SCHEME_TYPE scheme;
|
WS_URL_SCHEME_TYPE scheme;
|
||||||
WCHAR *host;
|
WCHAR *host;
|
||||||
|
@ -1002,6 +1003,8 @@ static HRESULT connect_channel_tcp( struct channel *channel )
|
||||||
return HRESULT_FROM_WIN32( WSAGetLastError() );
|
return HRESULT_FROM_WIN32( WSAGetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prop_get( channel->prop, channel->prop_count, WS_CHANNEL_PROPERTY_NO_DELAY, &nodelay, sizeof(nodelay) );
|
||||||
|
setsockopt( channel->u.tcp.socket, IPPROTO_TCP, TCP_NODELAY, (const char *)&nodelay, sizeof(nodelay) );
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2410,7 +2413,12 @@ HRESULT channel_accept_tcp( SOCKET socket, HANDLE wait, HANDLE cancel, WS_CHANNE
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = sock_accept( socket, wait, cancel, &channel->u.tcp.socket );
|
if ((hr = sock_accept( socket, wait, cancel, &channel->u.tcp.socket )) == S_OK)
|
||||||
|
{
|
||||||
|
BOOL nodelay = FALSE;
|
||||||
|
prop_get( channel->prop, channel->prop_count, WS_CHANNEL_PROPERTY_NO_DELAY, &nodelay, sizeof(nodelay) );
|
||||||
|
setsockopt( channel->u.tcp.socket, IPPROTO_TCP, TCP_NODELAY, (const char *)&nodelay, sizeof(nodelay) );
|
||||||
|
}
|
||||||
|
|
||||||
LeaveCriticalSection( &channel->cs );
|
LeaveCriticalSection( &channel->cs );
|
||||||
return hr;
|
return hr;
|
||||||
|
|
Loading…
Reference in New Issue