| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Homogenize semantics for atomic-related functions | lhchavez | 2021-08-26 | 1 | -27/+84 |
| | | | | | | | | | | | | | | | | | | | There were some subtle semantic differences between the various implementations of atomic functions. Now they behave the same, have tests and are better documented to avoid this from happening again in the future. Of note: * The semantics chosen for `git_atomic_compare_and_swap` match `InterlockedCompareExchangePointer`/`__sync_cal_compare_and_swap` now. * The semantics chosen for `git_atomic_add` match `InterlockedAdd`/`__atomic_add_fetch`. * `git_atomic_swap` and `git_atomic_load` still have a bit of semantic difference with the gcc builtins / msvc interlocked operations, since they require an l-value (not a pointer). If desired, this can be homogenized. | ||||
| * | threads: git_tls_data to git_tlsdata | Edward Thomson | 2020-12-08 | 1 | -28/+32 |
| | | | | | Use a no-allocation approach to the TLS data abstraction. | ||||
| * | Implement generic TLS interface | Tyler Ang-Wanek | 2020-12-06 | 1 | -0/+48 |
| | | | | | | | | | This adds a generic TLS interface for anyone to store TLS data. It is designed to work regardless of whether threading support is built into the library or not. Nobody in the library should directly interface with the data on the TLS struct, so it's been built to be opaque even in the library. Requires the allocator to be initialized before use. | ||||
| * | threads: rename thread files to thread.[ch] | Edward Thomson | 2020-12-06 | 1 | -0/+370 |
