LockedServersDecrement

 (Available in 01 TS COM - TS_COM_ServerInfo)

Source

METHOD LockedServersDecrement( ) AS LONGINT PASCAL CLASS TS_ServerInfo
LOCAL liCurLockedServers AS LONGINT
   TSTrace Enter
   IF SELF:IsValidObject
      InterlockedDecrement( SELF:_COMGlobalData:_ServerInfoLockedServers  ; ...
     ... )
      IF LONGINT( SELF:_COMGlobalData:_ServerInfoLockedServers  ; ...
     ... )<0L
         TSTrace Warning "LONGINT(SELF:_COMGlobalData:_ServerInfoLockedServers)<0L"
      END
      liCurLockedServers:=LONGINT( SELF:_COMGlobalData:_ServerInfoLockedServers  ; ...
     ... )
//    TS_ShowLockedServers()
      IF LOGIC( _CAST, SELF:_COMGlobalData:_ShowLockedServers  ; ...
     ... ) 
         TSTrace Shw liCurLockedServers
      END
      IF liCurLockedServers<1L
         IF SELF:CanUnloadNow( )==S_OK .AND. LOGIC( _CAST, LONGINT ; ...
        ... ( SELF:_COMGlobalData:_ServerInfoInMessageLoop  ; ...
        ... ) )
            IF LOGIC( _CAST, SELF:_COMGlobalData:_ServerInfoCurrentThreadID  ; ...
           ... )
               PostThreadMessage( SELF:_COMGlobalData:_ServerInfoCurrentThreadID ; ...
              ... , WM_QUIT, 0U, 0L )
            ELSE
               PostQuitMessage( 0L )
            END
         END
      END
   ELSE
      TSTrace Warning "!SELF:IsValidObject"
      liCurLockedServers:=0L
   END
   TSTrace Leave
RETURN liCurLockedServers