/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
* @bug 7200742
* @summary Test that Selector doesn't spin when changing interest ops
*/
public class ChangingInterests {
String s = "";
s += "POLLIN";
if (s.length() > 0)
s += "|";
s += "POLLOUT";
}
if (s.length() == 0)
s = "0";
return "(" + s + ")";
}
// give time for other end to be readable
try {
} catch (InterruptedException ignore) { }
}
int n;
}
}
/**
* Changes the given key's interest set from one set to another and then
* checks the selected key set and the key's channel.
*/
// ensure that channel is registered with the "from" interest set
// change to the "to" interest set
// check selected keys
boolean readable = k.isReadable();
boolean writable = k.isWritable();
} else {
}
} else {
}
}
}
/**
* Tests that given Selector's select method blocks.
*/
int count = 3;
while (count-- > 0) {
}
}
// create loopback connection
sc.configureBlocking(false);
// ensure that channel "sc" is readable
// test all transitions
// if the interst ops is now 0 then Selector should not spin
if (to == 0)
// if interest ops is now OP_READ then make non-readable
// and test that Selector does not spin.
}
}
}
} finally {
}
}
if (!v) throw new RuntimeException(msg);
}
}