[libdispatch-dev] Solaris portability - PATCH - getprogname shim support

Robert Watson robert at fledge.watson.org
Mon Jul 26 04:02:21 PDT 2010

On Sat, 24 Jul 2010, Joakim Johansson wrote:

> The bulk of the work after that will be to get libkqueue robust on solaris.

I think I wouldn't be incorrect in saying that kqueue is the epicentre of GCD, 
and Apple's minor tweaks to the kqueue API (now also adopted in FreeBSD) were 
critical to its success there.  The lack of kqueue or similarly capable 
solutions on other operating systems is the primary barrier to portability.

One thing clearly missing from the current libdispatch API, possibly because 
kqueue on Mac OS X doesn't support it, is an async I/O interface: i.e., do 
this I/O and call me back when you're done, vs do this I/O and call me back if 
there's more data to read/can be written.  Mac OS X's kqueue doesn't support 
POSIX async I/O as an event source, but the FreeBSD version of kqueue does. 
I'm actually unsure if Mac OS X supports POSIX async I/O at all, now that I 
think about it.  In any case, it would be neat to teach GCD about that on 
supporting platforms.


More information about the libdispatch-dev mailing list