Merge pull request #19746 from nextcloud/locked-exception-forward-existing
pass the existing locks info when making locked exception with absolu…
This commit is contained in:
commit
b6245be302
|
@ -263,7 +263,7 @@ class File extends Node implements IFile {
|
|||
|
||||
try {
|
||||
$this->acquireLock(ILockingProvider::LOCK_EXCLUSIVE);
|
||||
} catch (LockedException $e) {
|
||||
} catch (LockedException $ex) {
|
||||
if ($needsPartFile) {
|
||||
$partStorage->unlink($internalPartPath);
|
||||
}
|
||||
|
|
|
@ -1946,7 +1946,8 @@ class View {
|
|||
// rethrow with the a human-readable path
|
||||
throw new LockedException(
|
||||
$this->getPathRelativeToFiles($absolutePath),
|
||||
$e
|
||||
$e,
|
||||
$e->getExistingLock()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1988,12 +1989,14 @@ class View {
|
|||
// rethrow with the a human-readable path
|
||||
throw new LockedException(
|
||||
$this->getPathRelativeToFiles($absolutePath),
|
||||
$e
|
||||
$e,
|
||||
$e->getExistingLock()
|
||||
);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
} catch (\InvalidArgumentException $ex) {
|
||||
throw new LockedException(
|
||||
$absolutePath,
|
||||
$e
|
||||
$ex,
|
||||
$e->getExistingLock()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,9 @@ class LockedException extends \Exception {
|
|||
*/
|
||||
private $path;
|
||||
|
||||
/** @var string|null */
|
||||
private $existingLock;
|
||||
|
||||
/**
|
||||
* LockedException constructor.
|
||||
*
|
||||
|
@ -54,6 +57,7 @@ class LockedException extends \Exception {
|
|||
*/
|
||||
public function __construct(string $path, \Exception $previous = null, string $existingLock = null) {
|
||||
$message = '"' . $path . '" is locked';
|
||||
$this->existingLock = $existingLock;
|
||||
if ($existingLock) {
|
||||
$message .= ', existing lock on file: ' . $existingLock;
|
||||
}
|
||||
|
@ -68,4 +72,12 @@ class LockedException extends \Exception {
|
|||
public function getPath(): string {
|
||||
return $this->path;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @since 19.0.0
|
||||
*/
|
||||
public function getExistingLock(): ?string {
|
||||
return $this->existingLock;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue