ExecUntilTimeOut
(Available in 01 TS COM - TS_COM_ServerInfo)
Source
METHOD ExecUntilTimeOut( oDispatch AS OBJECT, dwTimeOutMax AS DWORD ) AS LOGIC PASCAL ; ...
...CLASS TS_ServerInfo
LOCAL oSuperGlobalData AS _TS_SuperGlobalData
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL dwTimeOutCur AS DWORD
LOCAL struWinMSG IS _winMSG
LOCAL lMessage AS LOGIC
LOCAL lTimeOut AS LOGIC
LOCAL uError AS USUAL
TSTrace Enter
IF SELF:IsValidObject
oCOMGlobalData:=SELF:_COMGlobalData
oSuperGlobalData:=SELF:_SuperGlobalData
lTimeOut:=FALSE
InterlockedIncrement( oCOMGlobalData:_ServerInfoInMessageLoop )
IF !oCOMGlobalData:_ServerInfoQuit
IF oCOMGlobalData:_ServerInfoNeedsCoResumeClassObjects
oCOMGlobalData:_ServerInfoNeedsCoResumeClassObjects:=FALSE
IF TS_HFailed( TS_CoResumeClassObjects( ), TRUE )
oCOMGlobalData:_ServerInfoQuit:=TRUE
END
END
InterlockedDecrement( oCOMGlobalData:_ServerInfoUseCounter )
IF