From 2c34023a5e9a3433337eaa54218bc6197d2581f9 Mon Sep 17 00:00:00 2001 From: Matthijs Mekking Date: Tue, 5 Feb 2019 15:31:35 +0100 Subject: [PATCH] Explain hook action calling order in more detail --- lib/ns/include/ns/hooks.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/ns/include/ns/hooks.h b/lib/ns/include/ns/hooks.h index 0f6ff88c4c..d2d310183c 100644 --- a/lib/ns/include/ns/hooks.h +++ b/lib/ns/include/ns/hooks.h @@ -85,8 +85,14 @@ * In order for a hook action to be called for a given hook, a pointer to that * action function (along with an optional pointer to action-specific data) has * to be inserted into the relevant hook table entry for that hook using an - * ns_hook_add() call. If multiple actions are set up at a single hook point, - * they are processed in FIFO order. + * ns_hook_add() call. If multiple actions are set up at a single hook point + * (e.g. by multiple plugin modules), they are processed in FIFO order, that is + * they are performed in the same order in which their relevant ns_hook_add() + * calls were issued. Since the configuration is loaded from a single thread, + * this means that multiple actions at a single hook point are determined by + * the order in which the relevant plugin modules were declared in the + * configuration file(s). The hook API currently does not support changing + * this order. * * As an example, consider the following hypothetical function in query.c: *