Various small improvements
** BREAKING** _INIT
macros are now _DATA
macros for consistency with other mulle libraries
-
convenience macro
mulle_thread_once_do
added -
_mulle_atomic_pointer_weakcas
and sibling functions are now named__mulle_atomic_functionpointer_cas_weak
(but the old name still exists) -
_mulle_atomic_pointer_nonatomic_write
and siblings are now named_mulle_atomic_functionpointer_write_nonatomic
but the old names still exist -
made pthread an optional link. This is helpful because sometimes cmake can't find the library, but the linker can (for example when cross compiling to 32 bit with -m32)
- Various small improvements
- Various small improvements
- remove package.json as it conflicts with clib.json
- compile fix for dragonfly and android
- add
mulle_thread_mutex_do
convenience macro
- change GLOBALs for Windows
- Various small improvements
- changed return value of thread function in
mulle_thread_create
- use github actions instead of travis, upgrade mulle-sde
- add stdthreads library for FreeBSD
- new mulle-sde project structure
- removed superflous memory barrier call in
mulle_thread_mutex_lock
mulle_thread_once
is a simplification ofpthread_once
with reduced semantics
- fix travis
- Various small improvements
- Various small improvements
- modernized to mulle-sde with .mulle folder
- moved
UNPLEASANT_RACE_YIELD
from mulle-aba to mulle-thread and renamed it
- move mintomic from mulle-nat to mulle-concurrent
- fix more mintomic stuff
- fix functionpointer case code for mintomic
- fix missing mintomic private headers...
- fix missing mintomic headers
- fix misspelled variables in mintomic code
- add missing cmake files
- added support for
mulle_thread_once
- remove obsolete file
- adapt to mulle-c11 3.0.0
- fix misspelling
- modernize mulle-sde and fix for mingw
- add mintomic headers back in for trusty and related
- modernized mulle-sde
- handle sources manually again, publish mintomic headers again
- fix travis.yml
- make -isystem absolute
- local buildinfos are a bad idea IMO, do it in cmake
- proper isystem directory now...
- fix build problems on old linux with .mulle-make
- fix ppa sourceline
- try to add ppa to travis for cmake 3
- fix key for debian
- try different YAML style for && escapement
- fix yaml
- fix travis
- upgraded mulle-sde extensions
- fix travis
- use uniform - instead of
_
in header files - migrated to mulle-sde
- no longer available through homebrew
- support new mulle-tests
- fixed scion wrapper command
- refinements for mulle-configuration 3.1
- Modernize CMakeLists.txt
- Various small improvements
- make it a cmake "C" projezt
- modernized project
- community release
- use mulle-bootstrap alpha, clean-up some garbage
- merge community release
- improved README, improved distribution
- merge in community release
- fix homebrew package
- first community release version, fix for community repositories
- modernized tests dir structure
- modernized release.sh
- improved .travis.yml
- fix README.md
- fix test for windows
- improve documentation, don't duplicate mulle-build install documentation
- fix prettied up windows code
- pretty up windows code
- improve documentation
- improve documentation
- remove some outdated remnants
- Add bounce documentation
- Remove magic bounceinfo code from pthreads_create introduced around 3.0. This should be done by the caller.
- Make windows trylock behavior consistent with pthreads
- fix wrong version number
- migrate homebrew install to mulle-build 0.5
- move atomic tests to tests folder and integrate into mulle-tests
- simplify use of mulle_thread_create, so that mulle_thread_exit will always be called
- fix bug in pthreads when using trylock
- pthread_join now returns the rval from the thread (whoever needs it).
- add thread code for windows
- mulle_thread_cancel doesn't exist anymore.
- mulle_thread_exit is a new function
- improved ocumentation
- add function pointer atomicity. Why is a function pointer different to a void pointer ? Imagine a machine with 64 KB ram. Data pointers could be 16 bit. Now imagine it having a ROM of 4 MB, function pointers could be 32 bit. Basically though the function pointers are just there to reduce warnings at the moment.
- renamed _destroy and _delete functions to be orthogonal with other mulle functions (sorry) to _free and _done.
returns_nonnull
does not meanreturns_nonzero
for some compilers, making them throw an error. Moronic...
- Moved return value parameter to the back of
mulle_thread_tss_create
. - Added mulle_thread_detach.
- Added mulle_thread_yield (will be sched_yield for pthreads)
- Don't assert value != expect in __...CAS.
- Added mulle_thread_tss_delete.
- Add MULLE_THREAD_VERSION.
- User can select mintomic or pthreads, with MULLE_THREAD_USE_MINTOMIC viz MULLE_THREAD_USE_PTHREADS
- Adorned mulle_thread_self() with attribute((const, returns_nonnull)) so that the caller can cache it.