Currently, the code allocates
sizeof(header) * sizeof(item) * n_items
bytes instead of the more appropriate
sizeof(header) + sizeof(item) * n_items
Fix that by simply changing the first multiplication to addition, and
furthermore, use a flexible array member instead of a zero-sized array.
Found by clang-tidy.
Make the default nice.level an invalid value, that is not configured
as the priority on a process.
Explicitly enable a nice level on our daemon processes.
Fixes#2034
You can pass some node.param.* properties to the adapter and it will
configure them, so you can do:
node.param.Props = {
params = [
audio.channels 6
]
}
Remove adapter.port-config because it can be done with node.param
It takes a JSON POD description of the PortConfig parameter and sets it
on the node. This can be used to configure the ports of the adapter node
directly.
At the moment, file descriptors may be leaked
due to a malicious/buggy client:
1. If the control messages have been truncated, some file descriptors
may still have been successfully transferred. Currently, seeing
the MSG_CTRUNC bit causes `refill_buffer()` to immediately return
-EPROTO without doing anything with the control messages, which
may contain file descriptors.
2. When there is no truncation, it is still possible that the current
batch of file descriptors causes the total file descriptor count
to go over the maximum number of fds for the given buffer (currently 1024).
In this case, too, `refill_buffer()` immediately returns -EPROTO
without closing the file descriptors that can not be saved.
Fix both of these cases by closing all file descriptors in all
remaining cmsgs when one of the mentioned conditions occur.
Use the lower 32 bits of the object serial as the index. When there is
an overflow, use an invalid index, which will probably result in a
protocol error.
Since 01c6fd0a88 the
minimum required meson version is 0.59.0, and since
meson 0.58.0, `get_variable()` on a dependency object
accepts a positional argument. The "type" of variable
(internal, pkgconfig, etc.) in that case does not need
to be specified explicitly.
Since 01c6fd0a88 the
minimum required meson version is 0.59.0, therefore
there is no need to check if it's at least 0.58.0,
which was needed for the devenv functionality.
Because otherwise just looking at the rest of the output and seeing the
thread being set to priority 20 instead of the value that's set in the
config file may look a bit confusing.