src/org/jnetpcap/nio/DisposableGC.java
public boolean waitForFullCleanup(long timeout) throws InterruptedException {

		synchronized (g0) {
			if (g0.isEmpty() == false) {
				if (isCleanupThreadActive()) {
					g0.wait(timeout);
				} else {
					drainRefQueue();
					if (g0.isEmpty() == false) {
						Thread.sleep(timeout);
						drainRefQueue();
					}
				}
			}

			return g0.isEmpty();
		}
	}
/**
	 * Wait for full cleanup.
	 * 
	 * @param timeout
	 *          the timeout
	 * @return true, if successful
	 * @throws InterruptedException
	 *           the interrupted exception
	 */
Wait for full cleanup.

@param timeout
the timeout
@return true, if successful
@throws InterruptedException
the interrupted exception
Wait for full cleanup . @param timeout the timeout @return true if successful @throws InterruptedException the interrupted exception
public boolean waitForFullCleanup(long timeout) throws InterruptedException {
		synchronized (g0) {
			if (g0.isEmpty() == false) {
				if (isCleanupThreadActive()) {
					g0.wait(timeout);
				} else {
					drainRefQueue();
					if (g0.isEmpty() == false) {
						Thread.sleep(timeout);
						drainRefQueue();
					}
				}
			}
			return g0.isEmpty();
		}
	}
public boolean waitForFullCleanup ( long timeout ) throws InterruptedException { synchronized ( g0 ) { if ( g0 . isEmpty ( ) == false ) { if ( isCleanupThreadActive ( ) ) { g0 . wait ( timeout ) ; } else { drainRefQueue ( ) ; if ( g0 . isEmpty ( ) == false ) { Thread . sleep ( timeout ) ; drainRefQueue ( ) ; } } } return g0 . isEmpty ( ) ; } }
Wait for full cleanup.
Wait for full cleanup .