Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21575
Modified Files: Tag: devel_0_38 s_audio_jack.c Log Message: sys_lock during dsp callback
Index: s_audio_jack.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/s_audio_jack.c,v retrieving revision 1.5.4.6 retrieving revision 1.5.4.7 diff -C2 -d -r1.5.4.6 -r1.5.4.7 *** s_audio_jack.c 9 Apr 2005 19:53:29 -0000 1.5.4.6 --- s_audio_jack.c 17 Apr 2005 10:23:56 -0000 1.5.4.7 *************** *** 86,93 **** { int i,j; - - /* rethink: should we lock the sys_lock? */ - for (i = 0; i != dspticks_per_jacktick; ++i) { --- 86,95 ---- { int i,j; + int timeout = (float)nframes / (float) sys_dacsr * 1e6; + + if (sys_timedlock(timeout) == ETIMEDOUT) + /* we're late ... lets hope that jack doesn't kick us out */ + return 0; for (i = 0; i != dspticks_per_jacktick; ++i) { *************** *** 120,123 **** --- 122,127 ---- zerovec_simd(sys_soundout, j * sys_dacblocksize); } + + sys_unlock();
return 0; *************** *** 457,461 **** }
! if ((timenow = sys_getrealtime()) - timeref > 0.002) { rtnval = SENDDACS_SLEPT; --- 461,465 ---- }
! if ((timenow = sys_getrealtime()) - timeref > sys_sleepgrain * 1e-6) { rtnval = SENDDACS_SLEPT;