summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/threadutil.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/threadutil.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/threadutil.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/noncore/multimedia/opieplayer2/threadutil.cpp b/noncore/multimedia/opieplayer2/threadutil.cpp
index 7a9e1a4..ff38b1e 100644
--- a/noncore/multimedia/opieplayer2/threadutil.cpp
+++ b/noncore/multimedia/opieplayer2/threadutil.cpp
@@ -135,2 +135,6 @@ struct Thread::Data
135 WaitCondition finishCondition; 135 WaitCondition finishCondition;
136
137 Thread *thr;
138
139 void run() { thr->run(); }
136}; 140};
@@ -151,10 +155,10 @@ static void terminate_thread( void *arg )
151 155
152void *_threadutil_start_thread( void *arg ) 156static void *start_thread( void *arg )
153{ 157{
154 Thread *thr = ( Thread* )arg; 158 Thread::Data *data = ( Thread::Data* )arg;
155 159
156 pthread_cleanup_push( terminate_thread, thr->d ); 160 pthread_cleanup_push( terminate_thread, data );
157 161
158 thr->d->isRunning = true; 162 data->isRunning = true;
159 thr->run(); 163 data->run();
160 164
@@ -171,2 +175,3 @@ Thread::Thread()
171{ 175{
176 d->thr = this;
172} 177}
@@ -191,3 +196,3 @@ void Thread::start()
191 pthread_attr_setscope( &attributes, PTHREAD_SCOPE_SYSTEM ); 196 pthread_attr_setscope( &attributes, PTHREAD_SCOPE_SYSTEM );
192 int err = pthread_create( &d->self, &attributes, _threadutil_start_thread, ( void* )this ); 197 int err = pthread_create( &d->self, &attributes, start_thread, ( void* )d );
193 if ( err != 0 ) { 198 if ( err != 0 ) {