mirror of
https://github.com/reactos/reactos.git
synced 2025-06-02 07:56:16 +00:00
[AFD]
- Fix enabling of some event select triggers svn path=/trunk/; revision=57185
This commit is contained in:
parent
bc74b19760
commit
c71cca6db6
2 changed files with 6 additions and 6 deletions
|
@ -327,6 +327,8 @@ NTSTATUS AfdAccept( PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
|
|
||||||
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
|
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
|
||||||
|
|
||||||
|
FCB->EventSelectDisabled &= ~AFD_EVENT_ACCEPT;
|
||||||
|
|
||||||
for( PendingConn = FCB->PendingConnections.Flink;
|
for( PendingConn = FCB->PendingConnections.Flink;
|
||||||
PendingConn != &FCB->PendingConnections;
|
PendingConn != &FCB->PendingConnections;
|
||||||
PendingConn = PendingConn->Flink ) {
|
PendingConn = PendingConn->Flink ) {
|
||||||
|
@ -364,8 +366,6 @@ NTSTATUS AfdAccept( PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
|
|
||||||
ExFreePool( PendingConnObj );
|
ExFreePool( PendingConnObj );
|
||||||
|
|
||||||
FCB->EventSelectDisabled &= ~AFD_EVENT_ACCEPT;
|
|
||||||
|
|
||||||
if( !IsListEmpty( &FCB->PendingConnections ) )
|
if( !IsListEmpty( &FCB->PendingConnections ) )
|
||||||
{
|
{
|
||||||
FCB->PollState |= AFD_EVENT_ACCEPT;
|
FCB->PollState |= AFD_EVENT_ACCEPT;
|
||||||
|
|
|
@ -436,6 +436,8 @@ AfdConnectedSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
|
|
||||||
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
|
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
|
||||||
|
|
||||||
|
FCB->EventSelectDisabled &= ~AFD_EVENT_RECEIVE;
|
||||||
|
|
||||||
if( !(FCB->Flags & AFD_ENDPOINT_CONNECTIONLESS) &&
|
if( !(FCB->Flags & AFD_ENDPOINT_CONNECTIONLESS) &&
|
||||||
FCB->State != SOCKET_STATE_CONNECTED &&
|
FCB->State != SOCKET_STATE_CONNECTED &&
|
||||||
FCB->State != SOCKET_STATE_CONNECTING ) {
|
FCB->State != SOCKET_STATE_CONNECTING ) {
|
||||||
|
@ -461,8 +463,6 @@ AfdConnectedSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
Irp, 0 );
|
Irp, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
FCB->EventSelectDisabled &= ~AFD_EVENT_RECEIVE;
|
|
||||||
|
|
||||||
if( FCB->Flags & AFD_ENDPOINT_CONNECTIONLESS )
|
if( FCB->Flags & AFD_ENDPOINT_CONNECTIONLESS )
|
||||||
{
|
{
|
||||||
if (!IsListEmpty(&FCB->DatagramList))
|
if (!IsListEmpty(&FCB->DatagramList))
|
||||||
|
@ -704,6 +704,8 @@ AfdPacketSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
|
|
||||||
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
|
if( !SocketAcquireStateLock( FCB ) ) return LostSocket( Irp );
|
||||||
|
|
||||||
|
FCB->EventSelectDisabled &= ~AFD_EVENT_RECEIVE;
|
||||||
|
|
||||||
/* Check that the socket is bound */
|
/* Check that the socket is bound */
|
||||||
if( FCB->State != SOCKET_STATE_BOUND )
|
if( FCB->State != SOCKET_STATE_BOUND )
|
||||||
{
|
{
|
||||||
|
@ -732,8 +734,6 @@ AfdPacketSocketReadData(PDEVICE_OBJECT DeviceObject, PIRP Irp,
|
||||||
return UnlockAndMaybeComplete(FCB, STATUS_ACCESS_VIOLATION, Irp, 0);
|
return UnlockAndMaybeComplete(FCB, STATUS_ACCESS_VIOLATION, Irp, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
FCB->EventSelectDisabled &= ~AFD_EVENT_RECEIVE;
|
|
||||||
|
|
||||||
if (!IsListEmpty(&FCB->DatagramList))
|
if (!IsListEmpty(&FCB->DatagramList))
|
||||||
{
|
{
|
||||||
ListEntry = RemoveHeadList(&FCB->DatagramList);
|
ListEntry = RemoveHeadList(&FCB->DatagramList);
|
||||||
|
|
Loading…
Reference in a new issue