コード例 #1
0
ファイル: dLightWeightProcessBase.cs プロジェクト: mono/gert
		internal virtual void internal_Register (dLightWeightProcessThread.IndicateProcessHasWorkCall _ProcessEnqueue)
		{
			m_ProcessEnqueue = _ProcessEnqueue;

			while (m_PreRegesterProcessCount > 0) {
				IncrementProcessFlag ();
				m_PreRegesterProcessCount--;
			}

			Registered ();
		}
コード例 #2
0
		internal override void internal_Register (dLightWeightProcessThread.IndicateProcessHasWorkCall _ProcessEnqueue)
		{
			base.internal_Register (_ProcessEnqueue);

			if (Interlocked.Increment (ref ms_count) == 1)
				ms_timerQ = NativeMethods.CreateTimerQueue ();
			NativeMethods.CreateTimerQueueTimer (
				ref m_timer,
				ms_timerQ,
				new WaitOrTimerDelegate (MyDelegate),
				IntPtr.Zero,
				0,
				(uint) m_updateRatems,
				NativeMethods.TimerQueueFlags.WT_EXECUTEINIOTHREAD);
		}