aboutsummaryrefslogtreecommitdiff
path: root/lib/std/atomic
AgeCommit message (Collapse)Author
2021-01-14organize std lib concurrency primitives and add RwLockAndrew Kelley
* move concurrency primitives that always operate on kernel threads to the std.Thread namespace * remove std.SpinLock. Nobody should use this in a non-freestanding environment; the other primitives are always preferable. In freestanding, it will be necessary to put custom spin logic in there, so there are no use cases for a std lib version. * move some std lib files to the top level fields convention * add std.Thread.spinLoopHint * add std.Thread.Condition * add std.Thread.Semaphore * new implementation of std.Thread.Mutex for Windows and non-pthreads Linux * add std.Thread.RwLock Implementations provided by @kprotty
2021-01-07Reduce use of deprecated IO typesJay Petacat
Related: #4917
2020-12-31Year++Frank Denis
2020-12-10std: Validate the atomic ordering parameter in atomic.IntLemonBoy
2020-12-10std: prevent instantiation of atomic.Int with non-integral typesLemonBoy
2020-11-19std: add std.atomic.Booldaurnimator
2020-11-19std: add tests for std.atomic.Intdaurnimator
2020-11-19std: fix missing operation argument to @atomicRmwdaurnimator
2020-11-19std: some more docs for std.atomic.Intdaurnimator
2020-11-19std: mark std.atomic.Int as extern so it can be used in public ABIsdaurnimator
2020-11-18std: expose all atomic operations from std.atomic.Intdaurnimator
2020-08-20add license header to all std lib filesAndrew Kelley
add SPDX license identifier copyright ownership is zig contributors
2020-08-07improvements & fixes for general purpose allocator integrationAndrew Kelley
* std.Mutex API is improved to not have init() deinit(). This API is designed to support static initialization and does not require any resource cleanup. This also happens to work around some kind of stage1 behavior that wasn't letting the new allocator mutex code get compiled. * the general purpose allocator now returns a bool from deinit() which tells if there were any leaks. This value is used by the test runner to fail the tests if there are any. * self-hosted compiler is updated to use the general purpose allocator when not linking against libc.
2020-07-11run zig fmt on std lib and self hostedVexu
2020-04-04Adds some documentation to std.atomic.Queue.Felix (xq) Queißner
2020-03-30std lib API deprecations for the upcoming 0.6.0 releaseAndrew Kelley
See #3811
2020-03-12Merge pull request #4707 from Vexu/small-atomicsAndrew Kelley
Support atomic operations with bools and non power of two integers
2020-03-12add note to disabled tests, improve comptime cmpxchgVexu
2020-03-11Move abi size checking to codegenVexu
2020-03-10update standard library to new I/O streams APIAndrew Kelley
2020-03-10use atomic bools in std libVexu
2020-02-08solve recursion in std.atomic.Queue.dumpAndrew Kelley
by adding a maximum depth
2019-12-10Replace @typeOf with @TypeOf in all zig sourceRobin Voetter
This change was mostly made with `zig fmt` and this also modified some whitespace. Note that in some files, `zig fmt` produced incorrect code, so the change was made manually.
2019-12-08std.fmt.format: tuple parameter instead of var argsAndrew Kelley
2019-11-25rename std.heap.direct_allocator to std.heap.page_allocatorAndrew Kelley
std.heap.direct_allocator is still available for now but it is marked deprecated.
2019-11-13use @atomicStore in std libVexu
2019-11-08update the codebase to use `@as`Andrew Kelley
2019-10-31DragonFlyBSD tidyupTse
2019-10-30add comments to disabled tests linking to the tracking issueAndrew Kelley
2019-10-30DragonFlyBSD supportTse
2019-09-25mv std/ lib/Andrew Kelley
that's all this commit does. further commits will fix cli flags and such. see #2221