Skip to content
🔠 Cross-platform thread/mutex/tss/atomic operations in C
C CMake C++ Shell Objective-C
Branch: release
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mulle
cmake
dox
run-on-ipad
src
test
.gitignore
.travis.yml
CMakeLists.txt
LICENSE
README.md
RELEASENOTES.md
mulle-thread.sublime-project

README.md

mulle-thread

🔠 Cross-platform thread/mutex/tss/atomic operations in C

mulle-thread is a set of C wrapper headers for a simplified subset of thread functions and for a limited range of atomic operations that strongly mimics the thread standard, even if thread is not available. On Windows it has to do a bit more work.

mulle-threads main advantages are simplicity, portability, sanity.

  • basic atomic operations CAS, ++, -- on void pointers.
  • basic thread operations
  • mutex functionality
  • thread local storage, with proper destruction

Since thread has <stdatomic.h> and <threads.h>, eventually this project could become superflous. In the meantime though it's a convenient abstraction on threads and atomic operations.

Build Status Release Version
Build Status Mulle kybernetiK tag Build Status

Install

Install the prerequisites first:

Prerequisites
mulle-c11

Then build and install

mkdir build 2> /dev/null
(
   cd build ;
   cmake .. ;
   make install
)

Or let mulle-sde build it for you with mulle-sde craft.

API

Platforms

  • OS X
  • iOS
  • Linux
  • FreeBSD
  • Windows

Compilers

  • clang
  • gcc
  • MSVC

thread support in clang as of v3.8 is lacking, as there is no <threads.h>. The fallback is pthreads.

Architectures

If <stdatomic.h> is not available for your architecture, then mulle-thread is limited to:

  • x86
  • x86_64
  • arm

That is because of mintomic limitations. mintomic is the original source for the provided atomic operations. Unfortunately it's not really active anymore, so for example ARM64 doesn't work. mulle-thread will use mintomic only, if <stdatomic.h> is not available.

Author

Nat! for Mulle kybernetiK and Codeon GmbH

You can’t perform that action at this time.