eal: add doc for constructor macros

It is a reminder that the constructors without priority
get the lowest priority.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Thomas Monjalon 2017-10-02 15:57:15 +02:00
parent 3b3db6b8bc
commit 53d266ac7b

View File

@ -287,9 +287,26 @@ static inline int rte_gettid(void)
return RTE_PER_LCORE(_thread_id); return RTE_PER_LCORE(_thread_id);
} }
/**
* Run function before main() with low priority.
*
* The constructor will be run after prioritized constructors.
*
* @param func
* Constructor function.
*/
#define RTE_INIT(func) \ #define RTE_INIT(func) \
static void __attribute__((constructor, used)) func(void) static void __attribute__((constructor, used)) func(void)
/**
* Run function before main() with high priority.
*
* @param func
* Constructor function.
* @param prio
* Priority number must be above 100.
* Lowest number is the first to run.
*/
#define RTE_INIT_PRIO(func, prio) \ #define RTE_INIT_PRIO(func, prio) \
static void __attribute__((constructor(prio), used)) func(void) static void __attribute__((constructor(prio), used)) func(void)