Version 0.6.1
released 22/02/2012
- Fixed a missing boolean variable initialization, causing the select() fallback mechanism to be used on windows from time to time
- Fixed a bug in the windows implementation of kqueue, causing timeouts to be over far too early and thus causing unecessary cpu load when using dispatch timers
- Changed the implementation of _dispatch_get_nanoseconds to return similar values on all platforms
- Added some missing virtual destructors discovered by the code analysis of clang 3.1 (trunk 148486)
- Added flat to disable QtDispatch although Qt is available on the build host
- Fixed a bug within QDispatchGroup causing a call with QTime(0,0) not to wait until the group was entirely processed
- Did a rewrite of the QDispatchGroup implementation more closely to the xdispatch::group, this makes the allFinished signal an opt-in
- Made the event code of the registered QEventType dynamic to resolve conflicts with existing Qt applications
- Fixed a bug causing very early dispatched jobs never to get executed when using QDispatchApplications
- Added missing inclusion of stdlib.h
- Modified exceptions thrown from within xdispatch operations to be caught resulting in a call to abort() as throwing an exception through plain C code results in odd behaviour
Version 0.6.0
released 01/08/2011
- Updated libpthread_workqueue to version 0.8.2 (r200)
- Updated libkqueue to r526
- Merged a patch by Mark Heily originally contributed to the libdispatch mailing lists
- Changed several long datatypes to be an intptr_t instead resulting in better compatibility with non LP64 platforms and a consistent behaviour throughout all architectures
- streamlined the C++ and Qt inspired interfaces to use a consistent setter and getter style throughout the entire api
- Fixed a bug within xdispatch::source causing source handlers to be deleted too early and thus causing sigfaults
- Including a copy of libblocksruntime to enable building with clang and using blocks without needing any further dependencies
- Fixed an issue causing a QDispatchSource not to fire when using custom QIODevices
- Forced use of Winsock2.h instead of Winsock.h on Windows platforms and reduced the number of headers included by xdispatch/dispatch.h
Version 0.5.0
released 01/06/2011
- Improved threading backend implementation on windows
- dispatch sources within the xdispatch C++ interface
- predefined dispatch sources in QtDispatch
- restructured platform/shim source layout
- fixed a memory leak causing lambdas and some operations not to be freed properly
- Added support for Windows VS2010 64bit and VS 2008
- Standard assignment and comparison operators within the C++ APIs
- Updated to libkqueue revision 523
- Merged two patches by Joakim Johansson and a patch provided by Mark Heily and contributed to the original libdispatch sources
Version 0.4.0
released 05/05/2011
- Introducing the original libdispatch implementation on windows and linux resulting in tremendous performance increases.
- Integrating libkqueue by Mark Heily - r500
- Integrating libpthread_workqueue by Mark Heily - r119
- Sources interface working on windows, DISPATCH_SOURCE_TYPE_TIMER implemented.
- xdispatch::timer for using timers in C++ easily
- Proper implementation of QDispatchApplication
- Dropping support for VS 2008 for this version
Version 0.3.2
released 04/05/2011
- Fixed some differences regarding the atomic operations on different platforms
- Exported a missing symbol regarding xdispatch::sync_locks
- Lambdas for the dispatch_once API
Version 0.3.1
released 09/04/2011
- Fixed issue causing link step to fail on windows due to unimported symbols
- Changed dispatch_time_t utility functions from using a time_t towards using a timespec
- Compatible with openSUSE 11.4 64bit
Version 0.3
released 04/04/2011
- Omitting pthreads-w32 - results in pure Apache Licensed Code
- xdispatch and QtDispatch becoming shared libraries
- all private symbols hidden by default
Version 0.2
released 19/03/2011
Attention: New header layout, incompatible to Version 0.1
- Complete overhaul concerning code layout
- Introduction of an additional "plain c++" interface
- Extension of the Qt Interface to use a real dispatch_queue in the main thread as well by using an experimental QDispatchCoreApplication
- Introduction of the 'synchronized' keyword
- Reduction of pointer use
- Simplification of the entire QtDispatch API
Version 0.1
released 11/02/2011
- First release of libXDispatch
- Fully functional, but less performant - however completely platform independent rewrite of libdispatch
- QtDispatch integrating the main dispatch queue as events into the main event loop of a QApplication as well as providing support for QRunnables