mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-19 01:47:52 +00:00
8220479: java/nio/channels/Selector/SelectWithConsumer.java failed at testTwoChannels()
Reviewed-by: bpb
This commit is contained in:
parent
2786514a99
commit
b7dd1aff8b
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -197,19 +197,21 @@ public class SelectWithConsumer {
|
||||
// write to sink to ensure that the source is readable
|
||||
sink.write(messageBuffer());
|
||||
|
||||
// wait for key1 to be readable
|
||||
sel.select();
|
||||
assertTrue(key2.isWritable());
|
||||
while (!key1.isReadable()) {
|
||||
Thread.sleep(20);
|
||||
sel.select();
|
||||
}
|
||||
|
||||
var counter = new AtomicInteger();
|
||||
|
||||
// select(Consumer)
|
||||
counter.set(0);
|
||||
int n = sel.select(k -> {
|
||||
assertTrue(k == key1 || k == key2);
|
||||
counter.incrementAndGet();
|
||||
if (k == key1) {
|
||||
assertTrue(k.isReadable());
|
||||
} else if (k == key2) {
|
||||
assertTrue(k.isWritable());
|
||||
} else {
|
||||
assertTrue(false);
|
||||
}
|
||||
});
|
||||
assertTrue(n == 2);
|
||||
assertTrue(counter.get() == 2);
|
||||
@ -217,14 +219,8 @@ public class SelectWithConsumer {
|
||||
// select(Consumer, timeout)
|
||||
counter.set(0);
|
||||
n = sel.select(k -> {
|
||||
assertTrue(k == key1 || k == key2);
|
||||
counter.incrementAndGet();
|
||||
if (k == key1) {
|
||||
assertTrue(k.isReadable());
|
||||
} else if (k == key2) {
|
||||
assertTrue(k.isWritable());
|
||||
} else {
|
||||
assertTrue(false);
|
||||
}
|
||||
}, 1000);
|
||||
assertTrue(n == 2);
|
||||
assertTrue(counter.get() == 2);
|
||||
@ -232,14 +228,8 @@ public class SelectWithConsumer {
|
||||
// selectNow(Consumer)
|
||||
counter.set(0);
|
||||
n = sel.selectNow(k -> {
|
||||
assertTrue(k == key1 || k == key2);
|
||||
counter.incrementAndGet();
|
||||
if (k == key1) {
|
||||
assertTrue(k.isReadable());
|
||||
} else if (k == key2) {
|
||||
assertTrue(k.isWritable());
|
||||
} else {
|
||||
assertTrue(false);
|
||||
}
|
||||
});
|
||||
assertTrue(n == 2);
|
||||
assertTrue(counter.get() == 2);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user