зеркало из https://github.com/microsoft/git.git
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: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
bc6b8fc130
Коммит
80cdaba569
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче