mirror of
https://github.com/emqx/neuron.git
synced 2026-10-26 03:40:01 +08:00
Merge pull request #618 from fengzeroz/main
fix(manager): wait node init
This commit is contained in:
@@ -83,6 +83,10 @@ neu_manager_t *neu_manager_create()
|
||||
nlog_warn("load plugin error");
|
||||
} else {
|
||||
manager_load_node(manager);
|
||||
while (neu_node_manager_exist_uninit(manager->node_manager)) {
|
||||
usleep(1000 * 100);
|
||||
}
|
||||
|
||||
manager_load_subscribe(manager);
|
||||
}
|
||||
|
||||
|
||||
@@ -113,6 +113,20 @@ uint16_t neu_node_manager_size(neu_node_manager_t *mgr)
|
||||
return HASH_COUNT(mgr->nodes);
|
||||
}
|
||||
|
||||
bool neu_node_manager_exist_uninit(neu_node_manager_t *mgr)
|
||||
{
|
||||
node_entity_t *el = NULL, *tmp = NULL;
|
||||
|
||||
HASH_ITER(hh, mgr->nodes, el, tmp)
|
||||
{
|
||||
if (el->pipe.id == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
UT_array *neu_node_manager_get(neu_node_manager_t *mgr, neu_node_type_e type)
|
||||
{
|
||||
UT_array * array = NULL;
|
||||
|
||||
@@ -37,6 +37,7 @@ int neu_node_manager_add_static(neu_node_manager_t *mgr,
|
||||
neu_adapter_t * adapter);
|
||||
int neu_node_manager_update(neu_node_manager_t *mgr, const char *name,
|
||||
nng_pipe pipe);
|
||||
bool neu_node_manager_exist_uninit(neu_node_manager_t *mgr);
|
||||
void neu_node_manager_del(neu_node_manager_t *mgr, const char *name);
|
||||
uint16_t neu_node_manager_size(neu_node_manager_t *mgr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user