[libdispatch-dev] libpthread_workqueue released

Mark Heily mark at heily.com
Mon Jun 14 21:36:32 PDT 2010

I have written a pure userspace implementation of the Darwin 
pthread_workqueue API as used by libdispatch. This is based on Stacey Son's 
port to FreeBSD [1], but does not include any of the kernel bits. It's 
portable to a wide range of POSIX-compliant platforms. I have tested it 
under Linux, and it shows major improvements in the performance and 
stability of the libdispatch test suite.

I havn't implemented overcommit or multiple priority levels yet, but the 
basic workqueue functionality is there. I have a few ideas for adding kernel 
support and will be developing a Linux kernel module to complement the 
existing userspace code.

A tarball of the source code is here:


The SVN repository is available here:


To try this with libdispatch, add '-lpthread_workqueue' to the LDADD 
variable in testing/Makefile.am.


  - Mark

[1] http://people.freebsd.org/~sson/thrworkq/

More information about the libdispatch-dev mailing list