use librtti for worker/queue/resource

This commit is contained in:
Rongsong Shen 2026-02-25 16:56:42 +08:00
parent 532c68e6e1
commit 2ee87d4ee6
23 changed files with 1078 additions and 396 deletions

View file

@ -379,19 +379,18 @@ static int xzarray_init(meta_obj_t* obj, va_list ap)
{
xzarray_private_t* priv = (xzarray_private_t*)RTTI_OBJ_TO_PRIV(obj);
xzarray_t* a = RTTI_OBJ_TO_DATA(xzarray_t, obj);
size_t delta = va_arg(ap, size_t);
destroy_fn_t killer = va_arg(ap, destroy_fn_t);
xzarray_params_t* params = va_arg(ap, xzarray_params_t*);
if (delta < 1) {
if ((params == NULL) || (params->delta < 1)) {
return -EINVAL;
}
a->count = 0;
a->caps = 0;
a->delta = delta;
a->delta = params->delta;
a->data = NULL;
a->pos = 0;
a->killer = killer;
a->killer = params->datakiller;
mylock_init(&(priv->lock));