Skip to content

v1.9 Beta Released

Pre-release
Pre-release
Compare
Choose a tag to compare
@lhmouse lhmouse released this 19 Oct 02:05
· 49 commits to master since this release

This major release contains the following changes since v1.8-ga.4:

  1. A new readers-write mutex, namely _MCF_shared_mutex, has been implemented as a replacement of pthread_relock_t and SRWLOCK. It is provided for feature completeness and is not as optimized as Windows SRWLOCK. C++ wrappers are also provided by including cxx11.hpp in C++14 mode.
  2. Microsoft Visual Studio passes /EHsc to the CL compiler by default (which is not default for CL however), assuming that extern "C" functions can't throw C++ exceptions. This used to cause misoptimization when headers were used with MSVC. For MSVC these fucntions have been marked explicitly potential to throw C++ exceptions.
  3. _MCF_thread_self() is no longer allowed to return a null pointer, eliminating checks for null values on the caller side. If it needs to allocate the thread control structure but there is no enough memory, a static emergency structure which is pre-allocated at process startup is returned. If it is in use by another thread, the call blocks until it is freed.
  4. __MCF_runtime_failure() now displays a message box.
  5. The maximum supported alignment value by _MCF_thread_new_aligned() has been decreased from 256MiB to 1MiB.
  6. A few issues when building with link-time optimization (LTO) have been fixed.

Full Changelog: v1.8-ga.4...v1.9-beta