- dba::update('locks', ['locked' => false, 'pid' => 0], ['pid' => getmypid()]);
+ DBA::delete('locks', ['pid' => $this->pid]);
+
+ $this->acquiredLocks = [];
+ }
+
+ /**
+ * (@inheritdoc)
+ */
+ public function isLocked($key)
+ {
+ $lock = DBA::selectFirst('locks', ['locked'], ['`name` = ? AND `expires` >= ?', $key, DateTimeFormat::utcNow()]);
+
+ if (DBA::isResult($lock)) {
+ return $lock['locked'] !== false;
+ } else {
+ return false;
+ }