diff --git a/lib-src/sbsms/src/fft.h b/lib-src/sbsms/src/fft.h index 2914f6565..184c49c76 100644 --- a/lib-src/sbsms/src/fft.h +++ b/lib-src/sbsms/src/fft.h @@ -377,8 +377,8 @@ public: ir1 = (dir==1?_ir3:_ir1), ir3 = (dir==1?_ir1:_ir3) }; static inline void execute(t_fft *x, t_fft *y, int step) { - simd_vector v1; - simd_vector v2; + simd_vector v1 = {}; + simd_vector v2 = {}; simd_vector v3; simd_vector v4; simd_vector v5; @@ -427,9 +427,11 @@ public: i6 = i5 + istride, o6 = o5 + ostride, i7 = i6 + istride, o7 = o6 + ostride }; static inline void execute(t_fft *x, t_fft *y, int step) { - simd_vector v1,v2,v3,v4,v5,v6,v7,v8; + simd_vector v1 = {}, v2 = {}; + simd_vector v3,v4,v5,v6,v7,v8; simd_vector x02,x37,x15,x17,x53,x46; - simd_vector w1, w2, w3, w4; + simd_vector w1 = {}, w2 = {}; + simd_vector w3, w4; w1 = LOADH(LOADL(w1,x+i0),x+i6); w2 = LOADH(LOADL(w2,x+i4),x+i2); w3 = VADD(w1,w2); @@ -505,9 +507,11 @@ public: i6 = i5 + istride, o6 = o5 + ostride, i7 = i6 + istride, o7 = o6 + ostride }; static inline void execute(t_fft *x, t_fft *y, int step) { - simd_vector v1,v2,v3,v4,v5,v6,v7,v8; + simd_vector v1 = {}, v2 = {}; + simd_vector v3,v4,v5,v6,v7,v8; simd_vector x02,x37,x15,x17,x53,x46; - simd_vector w1, w2, w3, w4; + simd_vector w1 = {}, w2 = {}; + simd_vector w3, w4; w1 = LOADH(LOADL(w1,x+i0),x+i2); w2 = LOADH(LOADL(w2,x+i4),x+i6); w3 = VADD(w1,w2); diff --git a/lib-src/sbsms/src/sbsms.cpp b/lib-src/sbsms/src/sbsms.cpp index 111747b4a..0792ef19e 100644 --- a/lib-src/sbsms/src/sbsms.cpp +++ b/lib-src/sbsms/src/sbsms.cpp @@ -390,18 +390,10 @@ ThreadInterface :: ~ThreadInterface() pthread_cond_broadcast(&trial2Cond[c]); pthread_mutex_unlock(&trial2Mutex[c]); pthread_join(trial2Thread[c],NULL); - pthread_mutex_lock(&adjust2Mutex); - pthread_cond_broadcast(&adjust2Cond); - pthread_mutex_unlock(&adjust2Mutex); - pthread_join(adjust2Thread,NULL); pthread_mutex_lock(&trial1Mutex[c]); pthread_cond_broadcast(&trial1Cond[c]); pthread_mutex_unlock(&trial1Mutex[c]); pthread_join(trial1Thread[c],NULL); - pthread_mutex_lock(&adjust1Mutex); - pthread_cond_broadcast(&adjust1Cond); - pthread_mutex_unlock(&adjust1Mutex); - pthread_join(adjust1Thread,NULL); if(bRenderThread) { pthread_mutex_lock(&renderMutex[c]); pthread_cond_broadcast(&renderCond[c]); @@ -409,6 +401,14 @@ ThreadInterface :: ~ThreadInterface() pthread_join(renderThread[c],NULL); } } + pthread_mutex_lock(&adjust2Mutex); + pthread_cond_broadcast(&adjust2Cond); + pthread_mutex_unlock(&adjust2Mutex); + pthread_join(adjust2Thread,NULL); + pthread_mutex_lock(&adjust1Mutex); + pthread_cond_broadcast(&adjust1Cond); + pthread_mutex_unlock(&adjust1Mutex); + pthread_join(adjust1Thread,NULL); } void ThreadInterface :: signalReadWrite()