Revision d15e99b4 trunk/Pithos.Core/StatusKeeper.cs

b/trunk/Pithos.Core/StatusKeeper.cs
24 24
        [System.ComponentModel.Composition.Import]
25 25
        public IPithosSettings Settings { get; set; }
26 26

  
27
        private BlockingCollection<Action> _statusUpdateQueue = new BlockingCollection<Action>();        
27
        private JobQueue _statusUpdateQueue;
28 28

  
29 29
        public StatusKeeper()
30 30
        {            
......
63 63

  
64 64
        public void StartProcessing(CancellationToken token)
65 65
        {
66
            Task.Factory.StartNew(ProcessUpdates,token);            
66
            _statusUpdateQueue.Start(token);
67
            
67 68
        }
68 69

  
69
        public void ProcessUpdates()
70
        {            
71
            foreach (var action in _statusUpdateQueue.GetConsumingEnumerable())
72
            {
73
                action();
74
            }
75
        }
70
       
76 71

  
77 72
        public void Stop()
78 73
        {
79
            _statusUpdateQueue.CompleteAdding();            
74
            _statusUpdateQueue.Stop();            
80 75
        }
81 76
       
82 77

  

Also available in: Unified diff