resource: allow NULL resource in error

And then log en error instead.
We can remove some awkward patterns in modules.
This commit is contained in:
Wim Taymans 2022-02-02 21:33:33 +01:00
parent 8aea38e81a
commit 1a911a9ccd
7 changed files with 42 additions and 41 deletions

View file

@ -243,21 +243,16 @@ static void *create_object(void *_data,
error_properties:
res = -EINVAL;
pw_log_error("factory %p: usage: " FACTORY_USAGE, d->this);
if (resource)
pw_resource_errorf_id(resource, new_id, res, "usage: " FACTORY_USAGE);
pw_resource_errorf_id(resource, new_id, res, "usage: " FACTORY_USAGE);
goto error_cleanup;
error_errno:
res = -errno;
pw_log_error("can't create node: %m");
if (resource)
pw_resource_errorf_id(resource, new_id, res, "can't create node: %s", spa_strerror(res));
pw_resource_errorf_id(resource, new_id, res, "can't create node: %s", spa_strerror(res));
goto error_cleanup;
error_usage:
res = -EINVAL;
pw_log_error("usage: "ADAPTER_USAGE);
if (resource)
pw_resource_errorf_id(resource, new_id, res, "usage: "ADAPTER_USAGE);
pw_resource_errorf_id(resource, new_id, res, "usage: "ADAPTER_USAGE);
goto error_cleanup;
error_cleanup:
pw_properties_free(properties);

View file

@ -121,15 +121,11 @@ static void *create_object(void *_data,
return result;
error_resource:
pw_log_error("can't create resource: %s", spa_strerror(res));
if (resource)
pw_resource_errorf_id(resource, new_id, res,
pw_resource_errorf_id(resource, new_id, res,
"can't create resource: %s", spa_strerror(res));
goto error_exit;
error_node:
pw_log_error("can't create metadata: %s", spa_strerror(res));
if (resource)
pw_resource_errorf_id(resource, new_id, res,
pw_resource_errorf_id(resource, new_id, res,
"can't create metadata: %s", spa_strerror(res));
goto error_exit_free;

View file

@ -264,8 +264,7 @@ done:
return res;
error:
if (client->core_resource)
pw_resource_errorf(client->core_resource, res, "client error %d (%s)",
pw_resource_errorf(client->core_resource, res, "client error %d (%s)",
res, spa_strerror(res));
goto done;
}

View file

@ -165,15 +165,10 @@ static void *create_object(void *_data,
error_properties:
res = -EINVAL;
pw_log_error("factory %p: usage: " FACTORY_USAGE, data->this);
if (resource)
pw_resource_errorf_id(resource, new_id, res,
"usage: "FACTORY_USAGE);
pw_resource_errorf_id(resource, new_id, res, "usage: "FACTORY_USAGE);
goto error_exit_cleanup;
error_device:
pw_log_debug("can't create device %s: %s", factory_name, spa_strerror(res));
if (resource)
pw_resource_errorf_id(resource, new_id, res,
pw_resource_errorf_id(resource, new_id, res,
"can't create device %s: %s", factory_name,
spa_strerror(res));
goto error_exit;

View file

@ -163,16 +163,11 @@ static void *create_object(void *_data,
error_properties:
res = -EINVAL;
pw_log_error("factory %p: usage: " FACTORY_USAGE, data->this);
if (resource)
pw_resource_errorf_id(resource, new_id, res,
"usage: "FACTORY_USAGE);
pw_resource_errorf_id(resource, new_id, res, "usage: "FACTORY_USAGE);
goto error_exit_cleanup;
error_create_node:
res = -errno;
pw_log_error("can't create node: %m");
if (resource)
pw_resource_errorf_id(resource, new_id, res,
pw_resource_errorf_id(resource, new_id, res,
"can't create node: %s", spa_strerror(res));
goto error_exit;
error_bind: