diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2003-04-09 02:40:20 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2003-04-09 02:40:20 +0000 |
commit | 28d14094386a69ddf05ca810114538fb2c31f8c7 (patch) | |
tree | 7d5bc28bece3f89de8e95be623e355d30ca856ed /externals/grill/flext/source | |
parent | c91ebcd16ef0672a909b6e6a1ba144272d062768 (diff) |
""
svn path=/trunk/; revision=554
Diffstat (limited to 'externals/grill/flext/source')
-rw-r--r-- | externals/grill/flext/source/flext.cpp | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/flsupport.cpp | 6 | ||||
-rw-r--r-- | externals/grill/flext/source/flthr.cpp | 8 |
3 files changed, 13 insertions, 5 deletions
diff --git a/externals/grill/flext/source/flext.cpp b/externals/grill/flext/source/flext.cpp index e6003466..a5ee5a59 100644 --- a/externals/grill/flext/source/flext.cpp +++ b/externals/grill/flext/source/flext.cpp @@ -169,10 +169,6 @@ void flext_base::Setup(t_classid id) AddMethod(id,0,"getattributes",(methfun)cb_ListAttrib); SetProxies(c); - -#ifdef FLEXT_THREADS - thrid = GetThreadId(); -#endif } #if FLEXT_SYS == FLEXT_SYS_JMAX diff --git a/externals/grill/flext/source/flsupport.cpp b/externals/grill/flext/source/flsupport.cpp index dcac4c75..26ddc51f 100644 --- a/externals/grill/flext/source/flsupport.cpp +++ b/externals/grill/flext/source/flsupport.cpp @@ -31,6 +31,11 @@ const t_symbol *flext::sym_signal = NULL; void flext::Setup() { + static bool issetup = false; + if(issetup) + return; + else issetup = true; + #if FLEXT_SYS == FLEXT_SYS_PD sym_anything = &s_anything; sym_pointer = &s_pointer; @@ -57,6 +62,7 @@ void flext::Setup() #endif #ifdef FLEXT_THREADS + thrid = GetThreadId(); StartHelper(); #endif } diff --git a/externals/grill/flext/source/flthr.cpp b/externals/grill/flext/source/flthr.cpp index d15e33d0..df8fb1a1 100644 --- a/externals/grill/flext/source/flthr.cpp +++ b/externals/grill/flext/source/flthr.cpp @@ -43,6 +43,12 @@ static flext::ThrCond *thrhelpcond = NULL; bool flext::StartHelper() { if(thrhelpid) return true; + + if(!thrid) { + // system thread has not been set + ERRINTERNAL(); + return false; + } bool ok = false; #if FLEXT_THREADS == FLEXT_THR_POSIX @@ -96,7 +102,7 @@ void flext::ThrHelper(void *) pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); #endif -// post("Helper"); +// post("Helper thread started"); // set thread priority one point below normal // so thread construction won't disturb real-time audio |