File tree Expand file tree Collapse file tree 2 files changed +8
-8
lines changed
main/java/io/bufferslayer
test/java/io/bufferslayer Expand file tree Collapse file tree 2 files changed +8
-8
lines changed Original file line number Diff line number Diff line change 1111import io .bufferslayer .OverflowStrategy .Strategy ;
1212import io .bufferslayer .internal .Component ;
1313import java .io .Flushable ;
14- import java .util .Iterator ;
1514import java .util .List ;
1615import java .util .Map ;
1716import java .util .concurrent .ConcurrentHashMap ;
@@ -176,14 +175,11 @@ public AsyncReporter build() {
176175 }
177176 }
178177
179- public int flushThreadCount () {
178+ int flushThreadCount () {
180179 int c = 0 ;
181- for (Iterator <Thread > iter = flushThreads .iterator (); iter .hasNext (); ) {
182- if (iter .next ().isAlive ()) {
183- c ++;
184- } else {
185- iter .remove ();
186- }
180+ for (Thread flushThread : flushThreads ) {
181+ if (flushThread .isAlive ()) c ++;
182+ else flushThreads .remove (flushThread );
187183 }
188184 return c ;
189185 }
Original file line number Diff line number Diff line change @@ -78,10 +78,14 @@ public void flushThreadDieAfterKeepAlive() throws InterruptedException {
7878 .build ();
7979 reporter .report (newMessage (0 ));
8080
81+ assertEquals (1 , reporter .flushThreadCount ());
82+
8183 countDown .await (50 , TimeUnit .MILLISECONDS );
8284 // messageTimeout + flushThreadKeepalive
8385 Thread .sleep (TimeUnit .MILLISECONDS .toMillis (20 ));
8486 assertEquals (0 , reporter .pendings .size ());
87+ assertEquals (0 , reporter .flushThreadCount ()); // should remove dead thread
88+ assertEquals (0 , reporter .flushThreads .size ());
8589 }
8690
8791 @ Test
You can’t perform that action at this time.
0 commit comments