mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-19 08:57:14 -05:00
improve error messages
Send create_object error messages to the new resource id so that the client can better know what proxy is failing. Use resource_remove when create_object fails because the core will already send a remove_id on failure. Try to send other errors to the proxy that made the request if possible.
This commit is contained in:
parent
b96daabb2f
commit
65d72bb87c
9 changed files with 40 additions and 33 deletions
|
|
@ -78,26 +78,24 @@ static void *create_object(void *_data,
|
|||
goto error_resource;
|
||||
}
|
||||
|
||||
pw_log_debug(".");
|
||||
result = pw_metadata_new(pw_impl_client_get_context(client), metadata_resource, properties);
|
||||
if (result == NULL) {
|
||||
res = -errno;
|
||||
goto error_node;
|
||||
}
|
||||
pw_log_debug(".");
|
||||
return result;
|
||||
|
||||
error_resource:
|
||||
pw_log_error("can't create resource: %s", spa_strerror(res));
|
||||
pw_resource_errorf(resource, res, "can't create resource: %s", spa_strerror(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));
|
||||
pw_resource_errorf(resource, res, "can't create metadata: %s", spa_strerror(res));
|
||||
pw_resource_errorf_id(resource, new_id, res, "can't create metadata: %s", spa_strerror(res));
|
||||
goto error_exit_free;
|
||||
|
||||
error_exit_free:
|
||||
pw_resource_destroy(metadata_resource);
|
||||
pw_resource_remove(metadata_resource);
|
||||
error_exit:
|
||||
errno = -res;
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue