On Thu, 2 Dec 2004 21:03:18 +0100 Florian Schmidt wrote: > On 02 Dec 2004 11:32:49 -0600 > "Jack O'Quin" wrote: > > > Florian Schmidt writes: > > > > > Hmm, i must have missed something in jackd's source. i thought > > > control->process() directly calls the clients process callback.. > > > > It does. > > Then either i have misunderstood how it works, or the mechanism is still > buggy.. Wrote mail to Ingo. Will report to jackit-devel when i get an > answer. PEBCAK :) Here's the corrected patch: --- libjack/client.c.orig 2004-12-02 17:55:04.000000000 +0100 +++ libjack/client.c 2004-12-02 22:04:06.000000000 +0100 @@ -1238,6 +1238,9 @@ if (control->sync_cb) jack_call_sync_client (client); + // enable atomicity check for RP kernels + gettimeofday(1,1); + if (control->process) { if (control->process (control->nframes, control->process_arg) @@ -1247,7 +1250,10 @@ } else { control->state = Finished; } - + + // disable atomicity check + gettimeofday(1,0); + if (control->timebase_cb) jack_call_timebase_master (client); seems to work well with my changed jack_test client (this one sleeps in the 1000th call of the process callback and thuis triggers this trace and aborts as it doesn't handle SIGUSR2). test client attached. Dec 2 22:05:10 mango kernel: jack_test:3043 userspace BUG: scheduling in user-atomic context! Dec 2 22:05:10 mango kernel: [] schedule+0x76/0x130 (8) Dec 2 22:05:10 mango kernel: [] schedule_timeout+0x85/0xe0 (36) Dec 2 22:05:10 mango kernel: [] copy_from_user+0x42/0x80 (48) Dec 2 22:05:10 mango kernel: [] process_timeout+0x0/0x10 (8) Dec 2 22:05:10 mango kernel: [] sys_nanosleep+0xde/0x170 (20) Dec 2 22:05:10 mango kernel: [] syscall_call+0x7/0xb (52) flo