77cccac8cd
This is part of a broader change to make header files better represent the dependencies between one another (see https://github.com/jemalloc/jemalloc/issues/533). It breaks up component headers into smaller parts that can be made to have a simpler dependency graph. For the autogenerated headers (smoothstep.h and size_classes.h), no splitting was necessary, so I didn't add support to emit multiple headers.
29 lines
738 B
C
29 lines
738 B
C
#ifndef JEMALLOC_INTERNAL_WITNESS_STRUCTS_H
|
|
#define JEMALLOC_INTERNAL_WITNESS_STRUCTS_H
|
|
|
|
struct witness_s {
|
|
/* Name, used for printing lock order reversal messages. */
|
|
const char *name;
|
|
|
|
/*
|
|
* Witness rank, where 0 is lowest and UINT_MAX is highest. Witnesses
|
|
* must be acquired in order of increasing rank.
|
|
*/
|
|
witness_rank_t rank;
|
|
|
|
/*
|
|
* If two witnesses are of equal rank and they have the samp comp
|
|
* function pointer, it is called as a last attempt to differentiate
|
|
* between witnesses of equal rank.
|
|
*/
|
|
witness_comp_t *comp;
|
|
|
|
/* Opaque data, passed to comp(). */
|
|
void *opaque;
|
|
|
|
/* Linkage for thread's currently owned locks. */
|
|
ql_elm(witness_t) link;
|
|
};
|
|
|
|
#endif /* JEMALLOC_INTERNAL_WITNESS_STRUCTS_H */
|