@Override
	public synchronized DBHandle open(TaskMonitor monitor) throws CancelledException, IOException {

		if (dbHandle != null) {
			throw new IOException("Database is already open");
		}

		if (monitor == null) {
			monitor = TaskMonitor.DUMMY;
		}

		if (!refreshUnpacking(monitor)) {
			throw new IOException("Failed to unpack/refresh database - it may be in use");
		}

		LocalManagedBufferFile bfile =
			new LocalManagedBufferFile(bfMgr, false, -1, FolderItem.DEFAULT_CHECKOUT_ID);
		dbHandle = new PackedDBHandle(this, bfile);
		return dbHandle;
	}
<code>PDBBufferFileManager</code> removes the update lock when 
the update has completed.
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/db/PackedDatabase.java