示例#1
0
        /// <summary>
        /// Disposer. Release resources and cleanup.
        /// </summary>
        /// <param name="disposing">true to dispose managed resources</param>
        protected virtual void Dispose(bool disposing)
        {
            // Check to see if Dispose has already been called.
            if (!_disposed)
            {
                Log.Debug();

                if (disposing)
                {
                    _done = true;

                    var item = new DoneEventHandlerItem();

                    _queue.Enqueue(item);

                    Log.Debug("Aborting thread...");
                    _thread.Abort();
                    Log.Debug("Returned from abort");
                    // Wait until oThread finishes. Join also has overloads
                    // that take a millisecond interval or a TimeSpan object.

                    Log.Debug("Calling Join");
                    _thread.Join();
                    Log.Debug("REturned from join");

                    // dispose all managed resources.
                    Automation.RemoveAllEventHandlers();
                }

                // Release unmanaged resources.
            }
            _disposed = true;
        }
示例#2
0
        /// <summary>
        /// Disposer. Release resources and cleanup.
        /// </summary>
        /// <param name="disposing">true to dispose managed resources</param>
        protected virtual void Dispose(bool disposing)
        {
            // Check to see if Dispose has already been called.
            if (!_disposed)
            {
                Log.Debug();

                if (disposing)
                {
                    _done = true;

                    var item = new DoneEventHandlerItem();

                    _queue.Enqueue(item);

                    Log.Debug("Aborting thread...");
                    _thread.Abort();
                    Log.Debug("Returned from abort");
                    // Wait until oThread finishes. Join also has overloads
                    // that take a millisecond interval or a TimeSpan object.

                    Log.Debug("Calling Join");
                    _thread.Join();
                    Log.Debug("REturned from join");

                    // dispose all managed resources.
                    Automation.RemoveAllEventHandlers();
                }

                // Release unmanaged resources.
            }
            _disposed = true;
        }