Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21971
Modified Files: Tag: devel_0_39 m_sched.c Log Message: idle processing: changed lock position
Index: m_sched.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_sched.c,v retrieving revision 1.5.4.35.2.18 retrieving revision 1.5.4.35.2.19 diff -C2 -d -r1.5.4.35.2.18 -r1.5.4.35.2.19 *** m_sched.c 29 Jun 2006 00:09:12 -0000 1.5.4.35.2.18 --- m_sched.c 30 Jun 2006 11:45:18 -0000 1.5.4.35.2.19 *************** *** 805,808 **** --- 805,810 ---- if (ringbuffer_head != NULL) { + sys_lock(); + double remain = stop - sys_getrealtime() * 1.e6; t_sched_callback * idle_callback = ringbuffer_head; *************** *** 813,819 **** { int status; ! sys_lock(); status = (idle_callback->function)(idle_callback->argv); ! sys_unlock();
switch (status) --- 815,821 ---- { int status; ! // sys_lock(); status = (idle_callback->function)(idle_callback->argv); ! // sys_unlock();
switch (status) *************** *** 823,827 **** next = idle_callback->next; if (idle_callback->argc) ! freebytes (idle_callback->argv, idle_callback->argc); freebytes ((void*)idle_callback, sizeof(t_sched_callback));
--- 825,829 ---- next = idle_callback->next; if (idle_callback->argc) ! freebytes (idle_callback->argv, idle_callback->argc*sizeof (t_int)); freebytes ((void*)idle_callback, sizeof(t_sched_callback));
*************** *** 843,846 **** --- 845,850 ---- }
+ sys_unlock(); + remain = stop-sys_getrealtime()*1.e6; } *************** *** 853,857 **** else sys_microsleep(microsec); - sys_lock(); } /* } tb */ --- 857,860 ----