diff --git a/libs/backends/jack/weak_libjack.def b/libs/backends/jack/weak_libjack.def index 52d50f20a5..1d80d07d8c 100644 --- a/libs/backends/jack/weak_libjack.def +++ b/libs/backends/jack/weak_libjack.def @@ -138,7 +138,12 @@ JCFUN(0, int, client_real_time_priority, 0) JCFUN(0, int, client_max_real_time_priority, 0) JPFUN(0, int, acquire_real_time_scheduling, (jack_native_thread_t t, int p), (t,p), 0) JPFUN(0, int, drop_real_time_scheduling, (jack_native_thread_t t), (t), 0) +#if (!defined _WIN32 && (defined _REENTRANT || defined __linux__)) + /* on POSIX systems, call pthread_join() when libjack does not provide jack_client_stop_thread */ +JXFUN(0, int, client_stop_thread, (jack_client_t* c, jack_native_thread_t t), (c,t), if (t) { pthread_join(t, NULL); return 0; } else { return -1;}) +#else JPFUN(0, int, client_stop_thread, (jack_client_t* c, jack_native_thread_t t), (c,t), 0) +#endif JPFUN(0, int, client_kill_thread, (jack_client_t* c, jack_native_thread_t t), (c,t), 0) #ifndef _WIN32 JVFUN(0, set_thread_creator, (jack_thread_creator_t c), (c),)