libdill: Structured Concurrency for C


Operating Systems

Currently, only modern POSIX systems are supported. The library has been tested mainly on Linux, FreeBSD, and OSX.

It is likely to work with DragonFlyBSD as well. NetBSD and OpenBSD will probably need DILL_THREAD_FALLBACK to work as they don't have support for thread local storage. If you are using libdill on these platforms, please let us know.

There is currently no support for Windows. Cygwin is very broken. It doesn't support AF_UNIX properly, and so no further development will be done for this platform.
Libdill is planned to be ported to Mingw and Windows IOCP instead. Help is welcome.


libdill requires either GCC and Clang. Your mileage with other compilers may vary:

The non-standard language features libdill requires are as follows:

Compiler features and incompatibilities:

Standard Libraries