thread: add thread.reset-on-fork

Add a new thread.reset-on-fork property for the thread creator. when set
to false, it will clear the default SCHED_RESET_ON_FORK flag and new RT
threads will be able to fork and inherit the rt policy and priority.

When creating a thread make sure we set SCHED_RESET_ON_FORK when the
thread.reset-on-fork property is not explicitly false;

module-rt needs to preserve the SCHED_RESET_ON_FORK flag when changing
the policy.

Set thread.reset-on-fork=false explicitly for JACK clients to restore
the JACK behaviour where implementations can fork and inherit the RT
policy and priority by default.

Fixes #4966
This commit is contained in:
Wim Taymans 2025-11-06 11:35:10 +01:00
parent 1f3bc6eff5
commit 1191c18641
6 changed files with 48 additions and 11 deletions

View file

@ -4299,6 +4299,7 @@ jack_client_t * jack_client_open (const char *client_name,
client->props = pw_properties_new(
PW_KEY_LOOP_CANCEL, "true",
SPA_KEY_THREAD_RESET_ON_FORK, "false",
PW_KEY_REMOTE_NAME, client->server_name,
PW_KEY_CLIENT_NAME, client_name,
PW_KEY_CLIENT_API, "jack",