INTEGRATION: CWS bserver22 (1.5.4); FILE MERGED

2006/10/23 17:49:32 kz 1.5.4.1: #141908# receive handler for queue
This commit is contained in:
Vladimir Glazounov 2006-11-02 11:16:58 +00:00
parent 3563f23253
commit d4b80427b3

View file

@ -4,9 +4,9 @@
* *
* $RCSfile: communi.cxx,v $ * $RCSfile: communi.cxx,v $
* *
* $Revision: 1.5 $ * $Revision: 1.6 $
* *
* last change: $Author: obo $ $Date: 2006-09-17 00:33:49 $ * last change: $Author: vg $ $Date: 2006-11-02 12:16:58 $
* *
* The Contents of this file are made available subject to * The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1. * the terms of GNU Lesser General Public License Version 2.1.
@ -89,7 +89,6 @@ SV_IMPL_PTRARR_SORT( CommunicationLinkList, CommunicationLink* );
NAMESPACE_VOS(OMutex) *pMPostUserEvent=NULL; // Notwendig, da nicht threadfest NAMESPACE_VOS(OMutex) *pMPostUserEvent=NULL; // Notwendig, da nicht threadfest
CommunicationLinkViaSocket::CommunicationLinkViaSocket( CommunicationManager *pMan, NAMESPACE_VOS(OStreamSocket) *pSocket ) CommunicationLinkViaSocket::CommunicationLinkViaSocket( CommunicationManager *pMan, NAMESPACE_VOS(OStreamSocket) *pSocket )
: SimpleCommunicationLinkViaSocket( pMan, pSocket ) : SimpleCommunicationLinkViaSocket( pMan, pSocket )
, nConnectionClosedEventId( 0 ) , nConnectionClosedEventId( 0 )
@ -97,6 +96,7 @@ CommunicationLinkViaSocket::CommunicationLinkViaSocket( CommunicationManager *pM
, bShutdownStarted( FALSE ) , bShutdownStarted( FALSE )
, bDestroying( FALSE ) , bDestroying( FALSE )
{ {
SetPutDataReceivedHdl(LINK( this, CommunicationLinkViaSocket, PutDataReceivedHdl ));
if ( !pMPostUserEvent ) if ( !pMPostUserEvent )
pMPostUserEvent = new NAMESPACE_VOS(OMutex); pMPostUserEvent = new NAMESPACE_VOS(OMutex);
// this is necassary to prevent the running thread from sending the close event // this is necassary to prevent the running thread from sending the close event
@ -232,7 +232,7 @@ void CommunicationLinkViaSocket::run()
{ {
NAMESPACE_VOS(OGuard) aGuard( aMDataReceived ); NAMESPACE_VOS(OGuard) aGuard( aMDataReceived );
NAMESPACE_VOS(OGuard) aGuard2( *pMPostUserEvent ); NAMESPACE_VOS(OGuard) aGuard2( *pMPostUserEvent );
nDataReceivedEventId = GetpApp()->PostUserEvent( LINK( this, CommunicationLinkViaSocket, DataReceived ) ); mlPutDataReceived.Call(this);
} }
} }
TimeValue sNochEins = {0, 1000000}; TimeValue sNochEins = {0, 1000000};
@ -276,6 +276,11 @@ long CommunicationLinkViaSocket::DataReceived( void* EMPTYARG )
return CommunicationLink::DataReceived( ); return CommunicationLink::DataReceived( );
} }
IMPL_LINK( CommunicationLinkViaSocket, PutDataReceivedHdl, CommunicationLinkViaSocket*, EMPTYARG )
{
nDataReceivedEventId = GetpApp()->PostUserEvent( LINK( this, CommunicationLinkViaSocket, DataReceived ) );
return 0;
}