---
name: "Coro::BDB"
section: "3pm"
platform: "linux"
package: "libcoro-perl"
version: "6.570-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Coro::BDB"
---

# Coro::BDB(3pm)

truly asynchronous bdb access

## NAME

Coro::BDB - truly asynchronous bdb access

## SYNOPSIS

```
   use Coro::BDB;
   use BDB;
   # can now use any of the bdb requests
```

## DESCRIPTION

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).

## SEE ALSO

BDB of course.

## AUTHOR/SUPPORT/CONTACT

```
   Marc A. Lehmann <schmorp@schmorp.de>
   http://software.schmorp.de/pkg/Coro.html
```
