Spec-Zone.ru › Haskell 8

GHC.IO.Handle.Lock

Safe Haskell None
Язык Haskell2010

data FileLockingNotSupported Source

Исключение, выбрасываемое hLock на платформах, отличных от Windows, которые не поддерживают flock.

С момента: base-4.10.0.0

Конструкторы

FileLockingNotSupported
Примеры
Подробности примеров
Show FileLockingNotSupported

С момента: base-4.10.0.0

Подробности примера

Определено в GHC.IO.Handle.Lock.Common

Методы

showsPrec :: Int -> FileLockingNotSupported -> ShowS Source

show :: FileLockingNotSupported -> String Source

showList :: [FileLockingNotSupported] -> ShowS Source

Исключение FileLockingNotSupported
Подробности примера

Определено в GHC.IO.Handle.Lock.Common

Методы

toException :: FileLockingNotSupported -> SomeException Source

fromException :: SomeException -> Может быть FileLockingNotSupported Source

displayException :: FileLockingNotSupported -> Строка Source

data LockMode Source

Указывает режим, в котором файл должен быть заблокирован.

Конструкторы

SharedLock
ExclusiveLock

hLock :: Дескриптор файла -> LockMode -> IO () Source

Если Handle ссылается на дескриптор файла, пытается заблокировать содержимое соответствующего файла в заданном режиме. Если файл уже заблокирован в несовместимом режиме, эта функция блокируется, пока блокировка не будет установлена. Блокировка автоматически снимается при закрытии Handle.

Важно учитывать:

1) Эта функция может заблокироваться внутри вызова C. Если это произойдёт, чтобы можно было прервать её асинхронными исключениями и/или для того, чтобы другие потоки могли продолжить работу, НУЖНО использовать многопоточную версию системы выполнения.

2) Реализация использует LockFileEx на Windows и flock в противном случае, поэтому все их замечания также относятся к данному случаю.

3) На платформах, отличных от Windows, которые не поддерживают flock (например, Solaris), эта функция вызывает FileLockingNotImplemented. Мы намеренно не предоставляем блокировку на основе fcntl из-за её некорректной семантики.

С момента: base-4.10.0.0

hTryLock :: Дескриптор файла -> LockMode -> IO Булево Source

Неблокирующая версия hLock.

С момента: base-4.10.0.0

hUnlock :: Дескриптор файла -> IO () Source

Освобождение блокировки, взятой с помощью hLock или hTryLock.

С момента: base-4.11.0.0

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/GHC-IO-Handle-Lock.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API