[libdispatch-dev] Windows compatibility
Kevin Van Vechten
kvv at apple.com
Wed Sep 16 00:51:27 PDT 2009
On Sep 15, 2009, at 11:35 PM, Brent Fulgham wrote:
> I have some interest in seeing this ported to Windows as well,
> though it may end up being so different under the covers that it
> only shares an API with this project.
It should be possible to port the core of libdispatch (i.e. queues,
semaphores, groups, etc.) without much issue by mapping the various
hw_shims.h functions like dispatch_atomic_add to InterlockedAdd or
dispatch_atomic_xchg to InterlockedExchange, et al.
The use of pthreads API is pretty light, so any available pthreads
compatibility shim on top of CreateThread would probably work.
Obviously, without kqueue, the event sources will take substantially
more effort to port and will require entirely new implementation to
back the various event sources (where applicable).
Another major obstacle is the lack of C99 support in Visual C.
More information about the libdispatch-dev