Merge pull request #618 from fengzeroz/main

fix(manager): wait node init
This commit is contained in:
fengzeroz
2022-07-06 15:47:38 +08:00
committed by GitHub
3 changed files with 19 additions and 0 deletions
+4
View File
@@ -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);
}
+14
View File
@@ -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;
+1
View File
@@ -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);