[master] 9820b1424 Use WS_TASK_ALLOC_OBJ
Nils Goroll
nils.goroll at uplex.de
Mon Oct 3 14:32:06 UTC 2022
commit 9820b1424dc668e62b82ff8dcff25f2879129fd6
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Tue Jun 7 14:33:02 2022 +0200
Use WS_TASK_ALLOC_OBJ
diff --git a/vmod/vmod_cookie.c b/vmod/vmod_cookie.c
index 7113e6a18..9c8bf2ac1 100644
--- a/vmod/vmod_cookie.c
+++ b/vmod/vmod_cookie.c
@@ -187,13 +187,10 @@ vmod_set(VRT_CTX, struct vmod_priv *priv, VCL_STRING name, VCL_STRING value)
return;
}
- cookie = WS_Alloc(ctx->ws, sizeof *cookie);
- if (cookie == NULL) {
- VSLb(ctx->vsl, SLT_Error,
- "cookie: unable to get storage for cookie");
+ WS_TASK_ALLOC_OBJ(ctx, cookie, VMOD_COOKIE_ENTRY_MAGIC);
+ if (cookie == NULL)
return;
- }
- INIT_OBJ(cookie, VMOD_COOKIE_ENTRY_MAGIC);
+
cookie->name = WS_Printf(ctx->ws, "%s", name);
cookie->value = WS_Printf(ctx->ws, "%s", value);
if (cookie->name == NULL || cookie->value == NULL) {
diff --git a/vmod/vmod_debug.c b/vmod/vmod_debug.c
index 0678cc3ec..414b58667 100644
--- a/vmod/vmod_debug.c
+++ b/vmod/vmod_debug.c
@@ -943,12 +943,9 @@ xyzzy_catflap(VRT_CTX, VCL_ENUM type)
req = ctx->req;
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
XXXAZ(req->vcf);
- req->vcf = WS_Alloc(req->ws, sizeof *req->vcf);
- if (req->vcf == NULL) {
- VRT_fail(ctx, "WS_Alloc failed in debug.catflap()");
+ WS_TASK_ALLOC_OBJ(ctx, req->vcf, VCF_MAGIC);
+ if (req->vcf == NULL)
return;
- }
- INIT_OBJ(req->vcf, VCF_MAGIC);
if (type == VENUM(first) || type == VENUM(miss)) {
req->vcf->func = xyzzy_catflap_simple;
req->vcf->priv = TRUST_ME(type);
diff --git a/vmod/vmod_directors_shard.c b/vmod/vmod_directors_shard.c
index 744e3552b..bdd3e0134 100644
--- a/vmod/vmod_directors_shard.c
+++ b/vmod/vmod_directors_shard.c
@@ -924,13 +924,10 @@ shard_param_task_l(VRT_CTX, const void *id, const char *who,
return (p);
}
- p = WS_Alloc(ctx->ws, sizeof *p);
- if (p == NULL) {
- shard_fail(ctx, who, "%s", "WS_Alloc failed");
+ WS_TASK_ALLOC_OBJ(ctx, p, VMOD_SHARD_SHARD_PARAM_MAGIC);
+ if (p == NULL)
return (NULL);
- }
task->priv = p;
- INIT_OBJ(p, VMOD_SHARD_SHARD_PARAM_MAGIC);
p->vcl_name = who;
p->scope = SCOPE_TASK;
diff --git a/vmod/vmod_directors_shard_cfg.c b/vmod/vmod_directors_shard_cfg.c
index 6df86b643..35ecfa9c1 100644
--- a/vmod/vmod_directors_shard_cfg.c
+++ b/vmod/vmod_directors_shard_cfg.c
@@ -127,13 +127,9 @@ shard_change_get(VRT_CTX, struct sharddir * const shardd)
return (change);
}
- change = WS_Alloc(ctx->ws, sizeof(*change));
- if (change == NULL) {
- shard_fail(ctx, shardd->name, "%s", "could not get workspace");
+ WS_TASK_ALLOC_OBJ(ctx, change, SHARD_CHANGE_MAGIC);
+ if (change == NULL)
return (NULL);
- }
-
- INIT_OBJ(change, SHARD_CHANGE_MAGIC);
change->vsl = ctx->vsl;
change->shardd = shardd;
VSTAILQ_INIT(&change->tasks);
@@ -159,13 +155,9 @@ shard_change_task_add(VRT_CTX, struct shard_change *change,
CHECK_OBJ_NOTNULL(change, SHARD_CHANGE_MAGIC);
- task = WS_Alloc(ctx->ws, sizeof(*task));
- if (task == NULL) {
- shard_fail(ctx, change->shardd->name, "%s",
- "could not get workspace for task");
+ WS_TASK_ALLOC_OBJ(ctx, task, SHARD_CHANGE_TASK_MAGIC);
+ if (task == NULL)
return (NULL);
- }
- INIT_OBJ(task, SHARD_CHANGE_TASK_MAGIC);
task->task = task_e;
task->priv = priv;
VSTAILQ_INSERT_TAIL(&change->tasks, task, list);
More information about the varnish-commit
mailing list