package com.sleepycat.je.utilint;
import com.sleepycat.je.latch.Latch;
import com.sleepycat.je.latch.LatchSupport;
public abstract class DaemonThread {
protected Latch workQueueLatch;
protected void hook856( String name, EnvironmentImpl env){
workQueueLatch=LatchSupport.makeLatch(name + " work queue",env);
original(name,env);
}
public void addToQueue( Object o) throws DatabaseException {
workQueueLatch.acquire();
original(o);
workQueueLatch.release();
}
public int getQueueSize() throws DatabaseException {
workQueueLatch.acquire();
int result=original();
workQueueLatch.release();
return result;
}
protected void hook857() throws InterruptedException, Exception {
workQueueLatch.release();
original();
}
protected void hook858() throws InterruptedException, Exception {
workQueueLatch.acquire();
original();
}
}