< prev index next >

test/jdk/java/nio/channels/Selector/RegisterDuringSelect.java

Print this page

        

*** 23,32 **** --- 23,35 ---- /* @test * @bug 8201315 * @summary Test that channels can be registered, interest ops can changed, * and keys cancelled while a selection operation is in progress. + * @library /test/lib + * @build jdk.test.lib.Utils + * @run main RegisterDuringSelect */ import java.io.IOException; import java.nio.channels.ClosedSelectorException; import java.nio.channels.Pipe;
*** 36,45 **** --- 39,50 ---- import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.Phaser; + import jdk.test.lib.Utils; + public class RegisterDuringSelect { static Callable<Void> selectLoop(Selector sel, Phaser barrier) { return new Callable<Void>() { @Override
*** 82,96 **** --- 87,103 ---- System.out.println("register ..."); SelectionKey key = sc.register(sel, SelectionKey.OP_READ); if (!sel.keys().contains(key)) throw new RuntimeException("key not in key set"); + Thread.sleep(Utils.adjustTimeout(50)); sel.wakeup(); barrier.arriveAndAwaitAdvance(); System.out.println("interestOps ..."); key.interestOps(0); + Thread.sleep(Utils.adjustTimeout(50)); sel.wakeup(); barrier.arriveAndAwaitAdvance(); System.out.println("cancel ..."); key.cancel();
< prev index next >