diff --git a/main/pbx.c b/main/pbx.c index 7262df6d19a99d7695819bda59bd7b6c971f443f..cd8a23ca88a71c5332d9ac8a38019087c56a81b6 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -2742,6 +2742,7 @@ static void handle_statechange(const char *device) { struct ast_hint *hint; + ast_rdlock_contexts(); AST_RWLIST_RDLOCK(&hints); AST_RWLIST_TRAVERSE(&hints, hint, list) { @@ -2779,6 +2780,7 @@ static void handle_statechange(const char *device) } AST_RWLIST_UNLOCK(&hints); + ast_unlock_contexts(); } static int statechange_queue(const char *dev)