public function LocalReadOnlyStream::stream_lock in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php \Drupal\Core\StreamWrapper\LocalReadOnlyStream::stream_lock()
- 9 core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php \Drupal\Core\StreamWrapper\LocalReadOnlyStream::stream_lock()
Support for flock().
An exclusive lock attempt will be rejected, as this is a read-only stream wrapper.
Parameters
int $operation: One of the following:
- LOCK_SH to acquire a shared lock (reader).
- LOCK_EX to acquire an exclusive lock (writer).
- LOCK_UN to release a lock (shared or exclusive).
- LOCK_NB added as a bitmask if you don't want flock() to block while locking (not supported on Windows).
Return value
bool Return FALSE for an exclusive lock (writer), as this is a read-only stream wrapper. Return the result of flock() for other valid operations. Defaults to TRUE if an invalid operation is passed.
See also
http://php.net/manual/streamwrapper.stream-lock.php
File
- core/
lib/ Drupal/ Core/ StreamWrapper/ LocalReadOnlyStream.php, line 59
Class
- LocalReadOnlyStream
- Defines a read-only Drupal stream wrapper base class for local files.
Namespace
Drupal\Core\StreamWrapperCode
public function stream_lock($operation) {
// Disallow exclusive lock or non-blocking lock requests
if (in_array($operation, [
LOCK_EX,
LOCK_EX | LOCK_NB,
])) {
trigger_error('stream_lock() exclusive lock operations not supported for read-only stream wrappers', E_USER_WARNING);
return FALSE;
}
if (in_array($operation, [
LOCK_SH,
LOCK_UN,
LOCK_SH | LOCK_NB,
])) {
return flock($this->handle, $operation);
}
return TRUE;
}