| | |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void initiateShutdown() |
| | | { |
| | | super.initiateShutdown(); |
| | | synchronized (this) |
| | | { |
| | | notify(); |
| | | } |
| | | } |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void run() |
| | | { |
| | | try |
| | |
| | | { |
| | | synchronized (this) |
| | | { |
| | | if (isShutdownInitiated()) |
| | | { |
| | | continue; |
| | | } |
| | | wait(); |
| | | } |
| | | // advance cursor, success/failure will be checked later |
| | |
| | | synchronized (this) |
| | | { |
| | | // double check to protect against a missed call to notify() |
| | | if (!canMoveForwardMediumConsistencyPoint(baseDN)) |
| | | if (!isShutdownInitiated() |
| | | && !canMoveForwardMediumConsistencyPoint(baseDN)) |
| | | { |
| | | wait(); |
| | | // loop to check if changes older than the medium consistency |