The function lock-owned-by-current-process-p
checks whether the lock lock is locked by the current thread. If this returns nil
, then the lock is either unlocked or locked by another process.
If the lock is a "sharing" lock, this also checks whether the current process has an exclusive lock on it. It ignores any shared lock.
LispWorks User Guide and Reference Manual - 13 Feb 2015