view src/goodjava/lucene/logging/SemaphoreLock.java @ 1648:224af797b1f9

Mainly small install script improvements - Consistent usage of `$LUANHOME`, removed reliance on current directory. - Made Luan build and install fine (on Linux) without requiring launching it via sudo. Only asks to elevate privileges if installation failed. - Minor spelling mistake fix.
author Fox
date Mon, 28 Mar 2022 18:00:12 +0200
parents 634f6765830e
children
line wrap: on
line source

package goodjava.lucene.logging;

import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;


public final class SemaphoreLock {
	private final Semaphore semaphore = new Semaphore(1);

	public void unlock() {
		semaphore.release();
	}

	public boolean isLocked() {
		return semaphore.availablePermits() == 0;
	}

	public boolean tryLock(long time,TimeUnit unit) throws InterruptedException {
		return semaphore.tryAcquire(time,unit);
	}
}