diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 4b24126d..c10e3a89 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -347,6 +347,8 @@ int neu_adapter_driver_update_group(neu_adapter_driver_t *driver, .usr_data = (void *) find, }; + neu_group_set_interval(find->group, interval); + param.cb = report_callback; find->report = neu_adapter_add_timer((neu_adapter_t *) driver, param); param.cb = read_callback; diff --git a/src/base/group.c b/src/base/group.c index d340e183..f4849348 100644 --- a/src/base/group.c +++ b/src/base/group.c @@ -92,6 +92,11 @@ uint32_t neu_group_get_interval(neu_group_t *group) return interval; } +void neu_group_set_interval(neu_group_t *group, uint32_t interval) +{ + group->interval = interval; +} + int neu_group_update(neu_group_t *group, uint32_t interval) { if (group->interval != interval) { diff --git a/src/base/group.h b/src/base/group.h index 3c0116a9..b9daaad8 100644 --- a/src/base/group.h +++ b/src/base/group.h @@ -31,6 +31,7 @@ typedef struct neu_group neu_group_t; neu_group_t * neu_group_new(const char *name, uint32_t interval); const char * neu_group_get_name(neu_group_t *group); uint32_t neu_group_get_interval(neu_group_t *group); +void neu_group_set_interval(neu_group_t *group, uint32_t interval); void neu_group_destroy(neu_group_t *group); int neu_group_update(neu_group_t *group, uint32_t interval); int neu_group_add_tag(neu_group_t *group, neu_datatag_t *tag);