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

Kevin



More information about the libdispatch-dev mailing list