Update of /cvsroot/pure-data/externals/grill/flext/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8822/source
Modified Files: flbase.h fldsp.cpp flqueue.cpp Log Message: - fixed typos and 64-bit compatibility - conform to idle callback functionality in devel_0_38 cleanups
Index: flqueue.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flqueue.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** flqueue.cpp 8 Jan 2005 04:58:30 -0000 1.23 --- flqueue.cpp 19 Jan 2005 04:57:15 -0000 1.24 *************** *** 59,63 **** };
! // _should_ work without locks.... have yet to check if it really does.... class Queue: public flext --- 59,65 ---- };
! /* \TODO This is only thread-safe if called fro one thread which need NOT be the case. ! Reimplement in a thread-safe manner!!! ! */ class Queue: public flext *************** *** 223,227 ****
#if FLEXT_QMODE == 2 ! if(syslock) sys_lock(); #endif
--- 225,229 ----
#if FLEXT_QMODE == 2 ! if(syslock) flext::Lock(); #endif
*************** *** 233,237 ****
#if FLEXT_QMODE == 2 ! if(syslock) sys_unlock(); #endif
--- 235,239 ----
#if FLEXT_QMODE == 2 ! if(syslock) flext::Unlock(); #endif
*************** *** 254,264 ****
#elif FLEXT_QMODE == 1 static t_int QTick(t_int *) { QWork(false); #ifdef FLEXT_SHARED ! return 1; #else ! return 0; #endif } --- 256,276 ----
#elif FLEXT_QMODE == 1 + #ifndef FLEXT_SHARED + static bool qtickactive = false; + #endif static t_int QTick(t_int *) { + #ifndef FLEXT_SHARED + qtickactive = false; + #endif QWork(false); #ifdef FLEXT_SHARED ! // will be run in the next idle cycle ! return 2; #else ! // won't be run again ! // for non-shared externals assume that there's rarely a message waiting ! // so it's better to delete the callback meanwhile ! return 0; #endif } *************** *** 288,292 **** qthrcond.Signal(); #elif FLEXT_QMODE == 1 && !defined(FLEXT_SHARED) ! set_callback(QTick,NULL,0); #elif FLEXT_QMODE == 0 clock_delay(qclk,0); --- 300,307 ---- qthrcond.Signal(); #elif FLEXT_QMODE == 1 && !defined(FLEXT_SHARED) ! if(!qtickactive) { ! sys_callback(QTick,NULL,0); ! qtickactive = true; ! } #elif FLEXT_QMODE == 0 clock_delay(qclk,0); *************** *** 325,329 **** #if FLEXT_QMODE == 1 #ifdef FLEXT_SHARED ! set_callback(QTick,NULL,0); #endif #elif FLEXT_QMODE == 2 --- 340,344 ---- #if FLEXT_QMODE == 1 #ifdef FLEXT_SHARED ! sys_callback(QTick,NULL,0); #endif #elif FLEXT_QMODE == 2
Index: flbase.h =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flbase.h,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** flbase.h 3 Jan 2005 05:00:31 -0000 1.28 --- flbase.h 19 Jan 2005 04:57:15 -0000 1.29 *************** *** 106,110 ****
//! Destructor ! virtual ~FLEXT_CLASSDEF(flext_obj)() = 0;
/*! \brief Signal a construction problem --- 106,110 ----
//! Destructor ! virtual ~FLEXT_CLASSDEF(flext_obj)();
/*! \brief Signal a construction problem
Index: fldsp.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/fldsp.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** fldsp.cpp 8 Jan 2005 04:58:30 -0000 1.23 --- fldsp.cpp 19 Jan 2005 04:57:15 -0000 1.24 *************** *** 90,94 **** t_int *flext_dsp::dspmeth(t_int *w) { ! flext_dsp *obj = (flext_dsp *)w[1]; /* #ifdef FLEXT_DEBUG --- 90,94 ---- t_int *flext_dsp::dspmeth(t_int *w) { ! flext_dsp *obj = (flext_dsp *)(size_t)w[1]; /* #ifdef FLEXT_DEBUG