Spec-Zone.ru › Haskell 7

System.Posix.Semaphore

Авторские права (c) Daniel Franke 2007
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность экспериментальная
Переносимость непереносимо (требуется POSIX)
Безопасный Haskell Безопасный
Язык Haskell2010

Описание

Поддержка именованных семафоров POSIX.

data OpenSemFlags Исходный код

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

OpenSemFlags

Поля

semCreate :: Bool

Если true, создает семафор, если он еще не существует.

semExclusive :: Bool

Если true, генерирует исключение, если семафор уже существует.

data Semaphore Исходный код

semOpen :: String -> OpenSemFlags -> FileMode -> Int -> IO Semaphore Исходный код

Открывает именованный семафор с заданным именем, флагами, режимом и начальным значением.

semUnlink :: String -> IO () Исходный код

Удаляет семафор с заданным именем.

semWait :: Semaphore -> IO () Исходный код

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

semTryWait :: Semaphore -> IO Bool Исходный код

Попытка заблокировать семафор без блокировки. Немедленно возвращает False, если он недоступен.

semThreadWait :: Semaphore -> IO () Исходный код

Опрашивает семафор до тех пор, пока он не станет доступным, затем блокирует его. В отличие от semWait, это заблокирует только текущую нить, а не весь процесс.

semPost :: Semaphore -> IO () Исходный код

Разблокировать семафор.

semGetValue :: Semaphore -> IO Int Исходный код

Возвращает текущее значение семафора.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/unix-2.7.1.0/System-Posix-Semaphore.html

Spec-Zone.ru

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