public function release()
    {
        if (!$this->lockfp) {
            throw new UnderflowException("No lock to release");
        }

        $this->log("release");
        flock($this->lockfp, LOCK_UN);
        $this->closeLockFile();
    }