# File lib/benelux.rb, line 94
 94:   def Benelux.update_global_timeline
 95:     @@mutex.synchronize do
 96:       dthreads = Benelux.known_threads.select { |t| 
 97:         !t.timeline.nil? && (t.nil? || !t.status) &&
 98:         !@processed_dead_threads.member?(t)
 99:       }
100:       # Threads that have rotated timelines
101:       rthreads = Benelux.known_threads.select { |t|
102:         !t.rotated_timelines.empty?
103:       }
104:       dtimelines = dthreads.collect { |t| t.timeline }
105:       # Also get all rotated timelines. 
106:       rthreads.each { |t| 
107:         # We loop carefully through the rotated timelines
108:         # incase something was added while we're working. 
109:         while !t.rotated_timelines.empty?
110:           dtimelines.push t.rotated_timelines.shift 
111:         end
112:       }
113:       Benelux.ld [:update_global_timeline, dthreads.size, rthreads.size, dtimelines.size].inspect
114:       # Keep track of this update separately
115:       @timeline_chunk = Benelux::Timeline.new
116:       @timeline_chunk.merge! *dtimelines
117:       @processed_dead_threads.push *dthreads
118:       tl = Benelux.timeline.merge! Benelux.timeline_chunk
119:       @timeline_updates += 1
120:       tl
121:     end
122:   end