* Add jack_position_t::tick_double, and flags around it
Signed-off-by: falkTX <falktx@falktx.com>
* s/precision/resolution/
Signed-off-by: falkTX <falktx@falktx.com>
* Assert alignment is suitable for atomic accesses
* Move fields and pad to meet alignment constraints
* Add padding to JackEngineControl to account for inherited data
* Parenthesise padding length for clarity
* Revert "Parenthesise padding length for clarity"
This reverts commit 1f757b9ece.
* Revert "Add padding to JackEngineControl to account for inherited data"
This reverts commit 3d8c7d83ad.
* Revert "Move fields and pad to meet alignment constraints"
This reverts commit ff631bbbdc.
* Assure alignment by using 'alignas' on fields
FUTEX_WAIT may be interrupted by a signal and return EINTR. If a client
process takes a signal while on the futex, the jack client may error out
with no way to recover despite the signal being safe. Instead, retry if
errno is set to EINTR.
The main loop might be blocked by `data_ready` when JACK server dies
while the program is running.
To reproduce the problem:
1. Start JACK server
2. Run `jack_midi_dump`
3. Stop JACK server
4. Press Ctrl-C in `jack_midi_dump` to send SIGINT.
5. Observe that the program doesn't stop and stuck in the main loop.
This patch forces the `data_ready` to be signaled in the signal handler
to prevent indefinite waiting.
.github/ISSUE_TEMPLATE/bug_report.md:
Add a github issue template for reporting bugs, which tracks what
operating system the user has, which version of JACK is in use and makes
suggestions around how to provide information.
.github/ISSUE_TEMPLATE/feature_request.md:
Add a github issue template for suggesting new features.