Commit 80cdaba5 authored by Jeff King's avatar Jeff King Committed by Junio C Hamano

commit-slab: provide a static initializer

Callers currently must use init_foo_slab() at runtime before
accessing a slab. For global slabs, it's much nicer if we
can initialize them in BSS, so that each user does not have
to add code to check-and-initialize.
Signed-off-by: default avatarJeff King <>
Signed-off-by: default avatarJunio C Hamano <>
parent bc6b8fc1
......@@ -117,4 +117,16 @@ static int stat_ ##slabname## realloc
* catch because GCC silently parses it by default.
* Statically initialize a commit slab named "var". Note that this
* evaluates "stride" multiple times! Example:
* struct indegree indegrees = COMMIT_SLAB_INIT(1, indegrees);
#define COMMIT_SLAB_INIT(stride, var) { \
COMMIT_SLAB_SIZE / sizeof(**((var).slab)) / (stride), \
(stride), 0, NULL \
#endif /* COMMIT_SLAB_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment