Example #1
0
void 
CService::OnStop()
{
    RefCountedPtr<iSvrService> localService = _theService;

    localService->stop();

    DWORD waitHint = 1;

    while ( true )
    {
        SetStatus( SERVICE_STOP_PENDING, waitHint++, 2000 );
        if ( !localService->isStopped() )
        {
            ThdManager::Sleep( 1000 );
        }
        else
        {
            break;
        }
    }    
}