aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-12-15 23:04:06 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-12-15 23:04:06 +0000
commitec54f5e49b24dc57e389b7bce58f967ee69a4b01 (patch)
tree15d495973fa6053835fd03b50e3f64dc6717815e /externals/grill/flext
parent90d5b8b4a064420d74678654e94ea4755b377f21 (diff)
new flext::CopyAtoms function
fixed dangerous spot (also memory leak) with message queuing flext::Forward has more incarnations now added message bundles (flext::MsgBundle) fixes for gcc 3.3, changing FLEXT_USECMEM to FLEXT_USE_CMEMw fixed initialization of message bundle items svn path=/trunk/; revision=4228
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/changes.txt2
-rwxr-xr-xexternals/grill/flext/source/flqueue.cpp17
-rw-r--r--externals/grill/flext/source/flsupport.cpp10
-rw-r--r--externals/grill/flext/source/flsupport.h10
4 files changed, 20 insertions, 19 deletions
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt
index 65826efc..38320249 100644
--- a/externals/grill/flext/changes.txt
+++ b/externals/grill/flext/changes.txt
@@ -22,7 +22,7 @@ Version history:
- cleaned up internals (like Max/MSP typedefs)
- fixed coexistence of message and signal objects in Max/MSP object libraries
- fixes for pthreads version 2
-- deprecated FLEXT_GLOBALNEW in favor of FLEXT_USECMEM (either global new/delete operators or C library memory allocation)
+- deprecated FLEXT_NOGLOBALNEW in favor of FLEXT_USE_CMEM (either global new/delete operators or C library memory allocation)
- fixing uninitialized pointer (first inlet pointer)
- added message bundle functionality (to send more messages over the thread boundary to arrive at the same logical time)
- fixed dangerous spot (also memory leak) with message queuing
diff --git a/externals/grill/flext/source/flqueue.cpp b/externals/grill/flext/source/flqueue.cpp
index efd6fd51..b1adfb24 100755
--- a/externals/grill/flext/source/flqueue.cpp
+++ b/externals/grill/flext/source/flqueue.cpp
@@ -49,14 +49,8 @@ class Queue:
{
public:
inline bool Empty() const { return Size() == 0; }
-
- inline void Push(MsgBundle *m)
- {
- if(m) {
- Put(m);
- Trigger();
- }
- }
+
+ inline void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...)
};
static Queue queue;
@@ -266,6 +260,13 @@ private:
}
};
+inline void Queue::Push(MsgBundle *m)
+{
+ if(m) {
+ Put(m);
+ Trigger();
+ }
+}
#if FLEXT_QMODE == 2
static flext::ThrCond qthrcond;
diff --git a/externals/grill/flext/source/flsupport.cpp b/externals/grill/flext/source/flsupport.cpp
index 929de35e..eaa27a60 100644
--- a/externals/grill/flext/source/flsupport.cpp
+++ b/externals/grill/flext/source/flsupport.cpp
@@ -106,7 +106,7 @@ void flext::Setup()
#define LARGEALLOC 32000
-#ifndef FLEXT_USECMEM
+#ifndef FLEXT_USE_CMEM
#ifdef FLEXT_DEBUGMEM
static const size_t memtest = 0x12345678L;
@@ -131,7 +131,7 @@ void *flext_root::operator new(size_t bytes)
//! We need system locking here for secondary threads!
SYSLOCK();
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
blk = (char *)::malloc(bytes);
#else
blk = (char *)::getbytes(bytes);
@@ -175,7 +175,7 @@ void flext_root::operator delete(void *blk)
//! We need system locking here for secondary threads!
SYSLOCK();
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
::free(ori);
#else
::freebytes(ori,bytes);
@@ -217,7 +217,7 @@ void *flext_root::NewAligned(size_t bytes,int bitalign)
//! We need system locking here for secondary threads!
SYSLOCK();
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
blk = (char *)::malloc(bytes);
#else
blk = (char *)::getbytes(bytes);
@@ -251,7 +251,7 @@ void flext_root::FreeAligned(void *blk)
//! We need system locking here for secondary threads!
SYSLOCK();
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
::free(ori);
#else
::freebytes(ori,bytes);
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index 2a1b7a6d..526a60af 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -47,11 +47,11 @@ public:
*/
#ifdef FLEXT_NOGLOBALNEW
-#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USECMEM instead
-#define FLEXT_USECMEM
+#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USE_CMEM instead
+#define FLEXT_USE_CMEM
#endif
-#ifdef FLEXT_USECMEM
+#ifdef FLEXT_USE_CMEM
inline void *operator new(size_t bytes) { return ::operator new(bytes); }
inline void operator delete(void *blk) { ::operator delete(blk); }
@@ -104,7 +104,7 @@ public:
//! @} FLEXT_S_MEMORY
};
-#ifndef FLEXT_USECMEM
+#ifndef FLEXT_USE_CMEM
/************************************************************************/
// MFC doesn't like global overloading of allocators
// anyway, who likes MFC
@@ -125,7 +125,7 @@ inline void *operator new[](size_t bytes) NEWTHROW { return flext_root::operator
inline void operator delete[](void *blk) DELTHROW { flext_root::operator delete[](blk); }
#endif
-#endif // FLEXT_USECMEM
+#endif // FLEXT_USE_CMEM
/************************************************************************/