Exemple #1
0
 void Run() {
     NPT_Thread::SetCurrentThreadPriority(m_Prio);
     NPT_TimeStamp now;
     NPT_TimeStamp then;
     NPT_System::GetCurrentTimeStamp(now);
     do {
         for (unsigned int i=0; i<10000; i++) {
             m_Counter++;
         }
         for (unsigned int i=0; i<10000; i++) {
             m_Counter--;
         }
         m_Counter++;
         NPT_System::GetCurrentTimeStamp(then);
     } while (then.ToMillis()-now.ToMillis() < 30000);
 }
Exemple #2
0
void FrontEnd::broadcastIfNecessary()
{
	ReadLocker locker1(m_stateLock);
	if (m_state != State_Running) {
		return;
	}

	NPT_TimeStamp ts;
	NPT_System::GetCurrentTimeStamp(ts);
	NPT_Int64 tsMillis = ts.ToMillis();
	WriteLocker locker2(m_dsLock);
	for (NPT_Ordinal i = 0; i < m_deviceImplList.GetItemCount(); i++)
	{
		NPT_List<DeviceImplInfo*>::Iterator it = m_deviceImplList.GetItem(i);
		DeviceImplInfo *info = *it;
		//if (info->m_updateTS.ToMillis() + info->m_deviceImpl->m_expireSeconds * 1000 - 11000 < tsMillis)
		if (tsMillis - info->m_updateTS.ToMillis() > 30000)
		{
			broadcastLocked(info, true);
		}
	}
}