System.Posix.Semaphore
| Авторские права | (c) Daniel Franke 2007 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | экспериментальная |
| Переносимость | непереносимо (требуется POSIX) |
| Безопасный Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Поддержка именованных семафоров POSIX.
data OpenSemFlags Исходный код
Конструкторы
| OpenSemFlags | |
Поля
| |
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