29 Jul 2020 13:10:08 UTC
- Distribution: Coro
- Module version: 6.57
- Source (raw)
- Browse (raw)
- How to Contribute
- Issues (8)
- Testers (955 / 22 / 0)
- KwaliteeBus factor: 1
- % Coverage
- License: unknown
- Activity24 month
- Download (193.48KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest version
Coro::BDB - truly asynchronous bdb access
use Coro::BDB; use BDB; # can now use any of the bdb requests
This module is an AnyEvent user, you need to make sure that you use and run a supported event loop.
This module implements a thin wrapper around the BDB module: Each BDB request that could block and doesn't get passed a callback will normally block all coroutines. after loading this module, this will no longer be the case (it provides a suitable sync prepare callback).
It will also register an AnyEvent watcher as soon as AnyEvent chooses an event loop.
The AnyEvent watcher can be disabled by executing
undef $Coro::BDB::WATCHER. Please notify the author of when and why you think this was necessary.
This module does not export anything (unlike Coro::AIO), as BDB already supports leaving out the callback. (Unfortunately, it ties a C context to each coroutine executing such a callback, so in the future, it might export more efficient wrappers).
BDB of course.
Marc A. Lehmann <firstname.lastname@example.org> http://software.schmorp.de/pkg/Coro.html