@Override public void close() throws IOException { if (!closed) { closed = true; ex = null; super.close(); closeInputStream(fo, this); synchronized (StreamPool.class) { if (!StreamPool.get(fo).isInputStreamOpen()) { StreamPool.class.notifyAll(); } } } }
private void waitForInputStreamsClosed (int timeInMs) throws InterruptedException { synchronized (StreamPool.class) { if (isInputStreamOpen ()) { StreamPool.class.wait(timeInMs); if (isInputStreamOpen ()) { throw new InterruptedException(); } } } }
private void waitForInputStreamsClosed (int timeInMs) throws InterruptedException { synchronized (StreamPool.class) { if (isInputStreamOpen ()) { StreamPool.class.wait(timeInMs); if (isInputStreamOpen ()) { throw new InterruptedException(); } } } }
public void close () throws IOException { if (!closed) { closed = true; ex = null; super.close (); closeInputStream (fo, this); synchronized (StreamPool.class) { if (!StreamPool.get (fo).isInputStreamOpen()) { StreamPool.class.notifyAll(); } } } }
public void close () throws IOException { if (!closed) { closed = true; ex = null; super.close (); closeInputStream (fo, this); synchronized (StreamPool.class) { if (!StreamPool.get (fo).isInputStreamOpen()) { StreamPool.class.notifyAll(); } } } }