I looked at this library in the past and I could not find any usage of it in any open source project. That made me a bit scary, how a library like this with the supposed well thought construction is not used anywhere ?
It seems like a lot of these data structs are not thread safe. Other than ck_bitmap which seems to be read/write thread safe, ck_array, ck_hs, ck_ht, and parts of ck_ring only allow a single writer in the presence of many readers. Did I misread something here? Still a lot of good stuff here, but not sure if these data structures can be used without external locking.
What a macro fest: <a href="https://github.com/concurrencykit/ck/blob/master/include/gcc/x86_64/ck_pr.h" rel="nofollow">https://github.com/concurrencykit/ck/blob/master/include/gcc...</a> <a href="https://github.com/concurrencykit/ck/tree/master/include/gcc" rel="nofollow">https://github.com/concurrencykit/ck/tree/master/include/gcc</a><p>This might not be the intention of the author, but if you want someone to use/hack with your library, please make it human-readable. Those macros reduce the amount of duplication, at the cost of legibility. At least include useful comments... /rant off