<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>haskell@gentoo.org</email> <name>Gentoo Haskell</name> </maintainer> <longdescription> The @concurrent-extra@ package offers among other things the following selection of synchronisation primitives: * @Broadcast@: Wake multiple threads by broadcasting a value. * @Event@: Wake multiple threads by signalling an event. * @Lock@: Enforce exclusive access to a resource. Also known as a binary semaphore or mutex. The package additionally provides an alternative that works in the @STM@ monad. * @RLock@: A lock which can be acquired multiple times by the same thread. Also known as a reentrant mutex. * @ReadWriteLock@: Multiple-reader, single-writer locks. Used to protect shared resources which may be concurrently read, but only sequentially written. * @ReadWriteVar@: Concurrent read, sequential write variables. Please consult the API documentation of the individual modules for more detailed information. This package was inspired by the concurrency libraries of Java and Python. </longdescription> <upstream> <remote-id type="github">basvandijk/concurrent-extra</remote-id> </upstream> </pkgmetadata>