示例#1
0
 /// <summary>
 /// Lock the producer and transmit pointstamp counts to the appropriate consumer(s)
 /// </summary>
 public void Start()
 {
     Tracing.Trace("(ProdLock");
     lock (this)
     {
         // note: FOC may return without sending stuff due to re-entrancy.
         if (outstandingRecords.Count > 0)
         {
             Aggregator.OnRecv(outstandingRecords);
             outstandingRecords.Clear();
         }
     }
     Tracing.Trace(")ProdLock");
 }
        /// <summary>
        /// Lock the producer and transmit pointstamp counts to the appropriate consumer(s)
        /// </summary>
        public void Start()
        {
            NaiadTracing.Trace.LockAcquire(this);
            lock (this)
            {
                NaiadTracing.Trace.LockHeld(this);

                // note: FOC may return without sending stuff due to re-entrancy.
                if (outstandingRecords.Count > 0)
                {
                    Aggregator.OnRecv(outstandingRecords);
                    outstandingRecords.Clear();
                }
            }
            NaiadTracing.Trace.LockRelease(this);
        }