public function ReadOnlyStream::stream_lock

public ReadOnlyStream::stream_lock($operation)

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 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.

Overrides PhpStreamWrapperInterface::stream_lock

See also

http://php.net/manual/streamwrapper.stream-lock.php

File

core/lib/Drupal/Core/StreamWrapper/ReadOnlyStream.php, line 113

Class

ReadOnlyStream
Defines a read-only Drupal stream wrapper base class.

Namespace

Drupal\Core\StreamWrapper

Code

public function stream_lock($operation) {
  if (in_array($operation, array(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, array(LOCK_SH, LOCK_UN, LOCK_SH | LOCK_NB))) {
    return flock($this->handle, $operation);
  }

  return TRUE;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!StreamWrapper!ReadOnlyStream.php/function/ReadOnlyStream::stream_lock/8.1.x