private boolean createLockFileNoWait(boolean testLock) throws IOException {

		Msg.trace(this, "attempt lock creation...: " + getLockID());
		boolean lockCreated = lockFile.createNewFile();
		if (!lockCreated && testLock) {

			long ltime = lockFile.lastModified();
			if (ltime != 0) {
				if (deltaTime == Long.MAX_VALUE) {
					// Compute time delta between filesystem and my clock
					File testFile = File.createTempFile("test", ".tmp", lockFile.getParentFile());
					deltaTime = (new Date().getTime()) - testFile.lastModified();
					testFile.delete();
				}
				// Check for expired lock
				if (ltime < (new Date().getTime() - maxLockLeasePeriod - deltaTime)) {
					lockFile.delete();
					Msg.warn(this, "Forcefully removing lock owned by " + getLockOwner(true) +
						": " + getLockID());
					lockCreated = lockFile.createNewFile();
				}
			}
			else {
				lockCreated = lockFile.createNewFile();
			}
		}
		if (!lockCreated || !setLockOwner()) {
			Msg.trace(this, "lock denied by " + getLockOwner(true) + ": " + getLockID());
			return false;
		}
		Msg.trace(this, "lock created (" + debugId + "): " + getLockID());
		myLockTime = lockFile.lastModified();
		return true;
	}
Attempt once to create a lock file.
@param testLock if true an expiration check will be performed on the lock
@return true if the lock file successfully created, else false.
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/LockFile.java