Without this marker partly written messages cannot be detected before
processing them.
Change-Id: I38802e9df2a09d1ad0371aba80fc1523cec2ddfe
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
With this adaption the probability that a message will be written
completely is higher.
On high load there are 647x/sec EAGAIN failures without this patch
and 570x/sec failures with this patch.
(The "JackClientSocket::Write time out" log messages were counted when
simulating continuously Xruns.)
In case of EAGAIN failures the message will now completely ignored.
Therefore it the socket stream will only contain complete messages
and no partly written messages. Such partly written messages would be
interpreted wrongly by the reader and the reader would detect the start
of the next message in the middle of the message. This could result in
"Unknown request" error logs but could also end up with assertions due
to request attributes which are out of range.
When using POST_PACKED_STRUCTURE JackRequest structures would be
aligned to 64b on aarch64 due to packing is disabled on aarch64 in
systemdeps, this causes issues with decoding some JackRequests. To
overcome this issue by defining POST_PACKED_STRUCTURE_FORCED_AARCH64
which is not undefed for aarch64.
It is only used for JackRequest structures, since enabling for all uses
cases in Jack jackd startup failed with "Bus Error".
Change-Id: I9460840f11870bb699744da09a5dcacddb828d2c
Signed-off-by: Adam Miartus <amiartus@de.adit-jv.com>
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
to always use the same initialization of the object.
Change-Id: Ia0931b4dcfcef7a59c2f04a2a06b36645bb0e1e1
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
Therefore no object of the class has to be created to detect the type only.
In addition the member variable fType can be const.
Change-Id: Ib9c484964a93d4f25ca0a354d6852c03a7b33896
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
* Fix generation of client uuid
Signed-off-by: falkTX <falktx@falktx.com>
* Remove all client properties when removed; Cleanup a few things
Signed-off-by: falkTX <falktx@falktx.com>
* Make all uuid function arguments use jack_uuid_t type; Fix warnings
Signed-off-by: falkTX <falktx@falktx.com>
* Rework uuids to never be int, more cleanup
Signed-off-by: falkTX <falktx@falktx.com>
* [metadata] Metadata properties implementation.
* [metadata] Fixed for shared server metadata-base accessor; alsofixed coding/naming style.
* [metadata] Fixed a tab for space.
* [metadata] Use of Berkeley DB is now truly optional on configure time.
* [metadata] Fixed tabs for spaces, again.
* [metadata] Fixed for shared metadata-base initialization and external clients.
* [metadata] Blind-fix for windows codebase.
* [metadata] Metadata API moved into client-side library only.
* [metadata] Fixed jack_port_uuid() stubbiness, now returning a proper UUID from port index.
* [metadata] Uniform method names.
* [metadata] Fixed PropertyChangeNotify through server async call.
The incorrect sizeof resulted in invalid session dirs,
if they were longer than 64 chars, to be passed to clients.
port renames were probably affected as well
The bug was introduced in the jack-session git branch
in d7772d7e59. It appeared
in svn trunk when the branch was merged in r4057. The first
released version with this bug is 1.9.7
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4538 0c269be4-1314-0410-8aa9-9f06e86f4224