Releases: lhmouse/mcfgthread
Releases · lhmouse/mcfgthread
v1.0-beta.6
This revision contains the following changes:
- Destructors that have been registered with
_MCF_tls_key_new()
are no longer called upon process exit, as specified by the ISO C11 standard, which also matches the behavior ofpthread_key_create()
on Linux.- This has no effect on callbacks registered with
__cxa_thread_atexit()
which are called both upon thread and process exit.
- This has no effect on callbacks registered with
- Multiple definition errors about
memcmp()
etc. when linking against the static library no longer happen; reported by lhmouse/nano-win#40. - The binaries were built with GCC 12, unlike previous ones which were built with GCC 11.
Full Changelog: v1.0-beta.5...v1.0-beta.6
v1.0-beta.5
This revision contains the following updates:
- ABI version macros have been added in
<mcfgthread/version.h>
which is also included by other headers. - DLL version information can now be viewed in Windows Explorer.
GetModuleHandleExW()
is no longer invoked upon each thread's creation and termination.- A new function
_MCF_hires_utc_now()
has been added, which can be utilized to implementclock_gettime()
in the future. _MCF_mutex_lock()
and_MCF_mutex_unlock()
can be inlined if there is no contention, for example, in single-threaded programs.- Standard string functions
memcpy()
,memmove()
,memset()
andmemcmp()
have been implemented in assembly for x86 and x86-64. They are exported from the DLL for external use. On the other platforms, the generic ones from NTDLL are called. This can reduce code size a bit. - Prebuilt binaries are now optimized for size instead of speed.
Full Changelog: v1.0-beta.4...v1.0-beta.5
v1.0-beta.4
This revision contains the following updates:
-mnop-fun-dllimport
has been added intoCFLAGS
. This means calls todllimport
'd functions no longer need to go through__imp_
thunks and are now more efficient.- The hashing policy of mutexes has been improved a little so there should less likely be collisions.
Full Changelog: v1.0-beta.3...v1.0-beta.4
Optimization of mutex
This revision contains the following updates:
- All comments have been changed to C89 style, so headers should compile without warnings as C89.
- The mutex has been optimized heavily. Benchmark results have been added.
Have a nice day.
Full Changelog: v1.0-beta.2...v1.0-beta.3
v1.0-beta.2
This revision contains the following update:
__gthread_self()
no longer returns a null pointer inside callbacks registered withatexit()
.
Have a nice day.
Full Changelog: v1.0-beta...v1.0-beta.2
GCC, binutils, mingw-w64 CRT and GDB bootstrap complete
I have so far bootstrapped GCC 11, binutils 2.38, mingw-w64 10.0 and GDB 11.2, and seen no problems so far.
Please read notes in README.md before using this library. More details can be found here.
- If you are using MSYS2, these packages may be installed with
pacman -U *.pkg.tar.gz
. - It is possible to install these packages by unpacking and copying files by hand.
Have a nice day.