// from gee.cs.oswego.edu/home/jsr166/jsr166
package jsr166tests.jtreg.util.concurrent.BlockingQueue;
/*
* Written by Doug Lea with assistance from members of JCP JSR-166
* Expert Group and released to the public domain, as explained at
* http://creativecommons.org/licenses/publicdomain
*/
/*
* @test
* @bug 6236036 6264015
* @compile PollMemoryLeak.java
* @run main/othervm -Xmx8m PollMemoryLeak
* @summary Checks for OutOfMemoryError when an unbounded
* number of aborted timed waits occur without a signal.
*/
import java.util.concurrent.*;
public class PollMemoryLeak {
public static void main(String[] args) throws InterruptedException {
final BlockingQueue[] qs = {
new LinkedBlockingQueue(10),
//new LinkedTransferQueue(),
new ArrayBlockingQueue(10),
new SynchronousQueue(),
new SynchronousQueue(true),
};
final long start = System.currentTimeMillis();
final long end = start + 10 * 1000;
while (System.currentTimeMillis() < end)
for (BlockingQueue q : qs)
q.poll(1, TimeUnit.NANOSECONDS);
}
}