[PATCH 1/6] site: Document some reentrancy hazards in comments
Ian Jackson
ijackson at chiark.greenend.org.uk
Sat May 17 19:46:30 BST 2014
No functional change.
Signed-off-by: Ian Jackson <ijackson at chiark.greenend.org.uk>
---
New patch in v2 of the series.
---
site.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/site.c b/site.c
index fe0e1a7..1169052 100644
--- a/site.c
+++ b/site.c
@@ -1174,6 +1174,7 @@ static void site_resolve_callback(void *sst, struct in_addr *address)
static bool_t initiate_key_setup(struct site *st, cstring_t reason,
const struct comm_addr *prod_hint)
{
+ /* Reentrancy hazard: can call enter_new_state/enter_state_* */
if (st->state!=SITE_RUN) return False;
slog(st,LOG_SETUP_INIT,"initiating key exchange (%s)",reason);
if (st->address) {
@@ -1286,6 +1287,7 @@ static void enter_state_run(struct site *st)
static bool_t enter_state_resolve(struct site *st)
{
+ /* Reentrancy hazard! See ensure_resolving. */
state_assert(st,st->state==SITE_RUN);
slog(st,LOG_STATE,"entering state RESOLVE");
st->state=SITE_RESOLVE;
--
1.7.10.4
More information about the sgo-software-discuss
mailing list