v1.9 Beta Released
Pre-release
Pre-release
This major release contains the following changes since v1.8-ga.4:
- A new readers-write mutex, namely
_MCF_shared_mutex
, has been implemented as a replacement ofpthread_relock_t
andSRWLOCK
. It is provided for feature completeness and is not as optimized as WindowsSRWLOCK
. C++ wrappers are also provided by including cxx11.hpp in C++14 mode. - Microsoft Visual Studio passes
/EHsc
to the CL compiler by default (which is not default for CL however), assuming thatextern "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. _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.__MCF_runtime_failure()
now displays a message box.- The maximum supported alignment value by
_MCF_thread_new_aligned()
has been decreased from 256MiB to 1MiB. - A few issues when building with link-time optimization (LTO) have been fixed.
Full Changelog: v1.8-ga.4...v1.9-beta