diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 5cb3b3ed..ad4c6fde 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -599,6 +599,11 @@ int neu_adapter_driver_add_tag(neu_adapter_driver_t *driver, const char *group, return NEU_ERR_TAG_PRECISION_INVALID; } + if (neu_tag_attribute_test(tag, NEU_ATTRIBUTE_SUBSCRIBE) && + neu_tag_attribute_test(tag, NEU_ATTRIBUTE_STATIC)) { + return NEU_ERR_TAG_ATTRIBUTE_NOT_SUPPORT; + } + ret = driver->adapter.module->intf_funs->driver.validate_tag( driver->adapter.plugin, tag); if (ret != NEU_ERR_SUCCESS) { diff --git a/src/base/group.c b/src/base/group.c index 05d447f6..bbcab560 100644 --- a/src/base/group.c +++ b/src/base/group.c @@ -270,7 +270,8 @@ static UT_array *to_read_array(tag_elem_t *tags) HASH_ITER(hh, tags, el, tmp) { if (neu_tag_attribute_test(el->tag, NEU_ATTRIBUTE_READ) || - neu_tag_attribute_test(el->tag, NEU_ATTRIBUTE_SUBSCRIBE)) { + neu_tag_attribute_test(el->tag, NEU_ATTRIBUTE_SUBSCRIBE) || + neu_tag_attribute_test(el->tag, NEU_ATTRIBUTE_STATIC)) { utarray_push_back(array, el->tag); } }