Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-09-02 | Factor out POSIX-style return pattern | David Robillard | 1 | -0/+5 | |
2022-09-01 | Simplify thread and semaphore status codes | David Robillard | 3 | -4/+6 | |
2022-08-19 | Simplify errno handling | David Robillard | 1 | -5/+6 | |
2022-08-19 | Move sem implementation out of header | David Robillard | 2 | -185/+18 | |
This avoids having platform conditionals in public headers, which causes build problems for dependants. | |||||
2022-08-18 | Add return status to zix_ring_mlock() | David Robillard | 1 | -1/+1 | |
2022-08-18 | Fix conversion warning on 32-bit ARM | David Robillard | 1 | -2/+2 | |
2022-08-18 | Add zix_sem_timed_wait() | David Robillard | 1 | -1/+66 | |
2022-08-18 | Fix semaphore error handling | David Robillard | 2 | -36/+72 | |
Note that existing code which uses zix_sem_try_wait() may still compile against this change, but be incorrect! | |||||
2022-08-18 | Fix thread function attributes on Windows | David Robillard | 1 | -3/+2 | |
2022-08-18 | Improve test coverage | David Robillard | 1 | -6/+3 | |
2022-08-18 | Fix or remove non-portable features in thread API | David Robillard | 1 | -18/+39 | |
Thread function return values are inconsistent between nearly every threading API out there. So, just ignore them entirely, and provide a typedef and sentinel value so user code can be portable. | |||||
2022-08-18 | Factor out converting errno codes to ZixStatus | David Robillard | 2 | -11/+6 | |
2022-08-18 | Add transactional ring API | David Robillard | 1 | -0/+73 | |
2022-08-12 | Document the thread semantics of every ring function | David Robillard | 1 | -15/+42 | |
2022-06-28 | Fix strict release builds | David Robillard | 1 | -1/+1 | |
2022-06-28 | Move zix_strerror to library | David Robillard | 1 | -23/+6 | |
2022-06-28 | Use uppercase integer literal suffixes | David Robillard | 1 | -3/+3 | |
I give in. | |||||
2022-06-28 | Fix whitespace | David Robillard | 4 | -11/+11 | |
2022-06-28 | Fix build as C with MSVC | David Robillard | 1 | -0/+2 | |
2022-06-28 | Fix incorrect function attributes | David Robillard | 2 | -4/+4 | |
The ring accessors are pure, not const, because they read pointed-to data (the ring) that may change between invocations. The BTree iter comparison is const because it only compares the values passed as parameters (although they contain pointers, they aren't dereferenced). | |||||
2021-10-27 | Be explicit about operator precedence | David Robillard | 1 | -1/+1 | |
2021-09-18 | Fix whitespace | David Robillard | 1 | -7/+5 | |
2021-09-16 | Add a simple bump pointer allocator | David Robillard | 1 | -0/+52 | |
2021-09-15 | Add redundant forward declaration to appease clang-tidy | David Robillard | 1 | -0/+2 | |
2021-09-14 | Add aligned allocation interface and use it in ZixBTree | David Robillard | 1 | -8/+54 | |
2021-09-14 | Fix whitespace in allocator function type definitions | David Robillard | 1 | -12/+14 | |
2021-09-14 | Make ZixAllocator a single flat struct | David Robillard | 5 | -57/+54 | |
I can never decide between these two patterns for polymorphic objects in C, but this one seems more appropriate here since it's more conducive to inheritance. | |||||
2021-09-11 | Fix zix_btree_free() nullable annotation | David Robillard | 1 | -1/+1 | |
2021-09-10 | Adopt REUSE machine-readable licensing standard | David Robillard | 11 | -165/+22 | |
2021-09-10 | Add custom allocator support | David Robillard | 5 | -10/+170 | |
2021-09-10 | Add nullability annotations | David Robillard | 8 | -128/+171 | |
This allows clang to issue warnings at compile time when null is passed to a non-null parameter. For public entry points, also add assertions to catch such issues when the compiler does not support this. | |||||
2021-09-10 | Move attribute definitions to a separate header | David Robillard | 8 | -55/+87 | |
2021-09-10 | Rewrite ZixHash as a flat table with open addressing | David Robillard | 1 | -39/+238 | |
2021-09-10 | Replace CRC32 digest with more modern and appropriate algorithms | David Robillard | 1 | -15/+59 | |
This makes the hassle of platform-specific code go away, and instead uses portable implementations of relatively standard modern hash algorithms. CRC32 is not great as a hash function anyway, though it is very fast when hardware accelerated. | |||||
2021-09-10 | Add a user handle to destroy callback | David Robillard | 3 | -4/+9 | |
2021-09-10 | Simplify BTree implementation | David Robillard | 1 | -7/+31 | |
2021-09-10 | Allow ZixBTreeIter to be allocated on the stack | David Robillard | 2 | -41/+54 | |
2021-09-10 | Remove destroy field of BTree and add zix_btree_clear() | David Robillard | 1 | -3/+18 | |
If this is used, it is only when clearing or freeing a tree. Allowing it to be given as a parameter directly there is clearer and avoids bloating the tree itself with information that isn't needed. | |||||
2021-09-10 | Fix conversion warnings | David Robillard | 1 | -2/+3 | |
2021-09-10 | Remove ZixStrindex | David Robillard | 1 | -59/+0 | |
2021-07-17 | Remove ZixSortedArray | David Robillard | 1 | -122/+0 | |
2021-07-17 | Use line comments where appropriate | David Robillard | 11 | -211/+78 | |
2021-06-30 | Allow ZIX_API to be overridden | David Robillard | 1 | -8/+10 | |
2020-12-31 | Update copyright headers | David Robillard | 11 | -11/+11 | |
2020-12-31 | Remove ZixChunk | David Robillard | 1 | -50/+0 | |
2020-12-31 | Switch to Meson | David Robillard | 1 | -13/+6 | |
2020-12-31 | Remove entire library header | David Robillard | 1 | -35/+0 | |
2020-12-31 | Fix use of reserved identifiers | David Robillard | 1 | -1/+1 | |
2020-12-31 | Remove ZIX_PRIVATE and ZIX_INLINE mechanisms | David Robillard | 1 | -5/+0 | |
A normal C library ought to be good enough for anybody. | |||||
2020-12-31 | Separate source from headers | David Robillard | 13 | -0/+1618 | |