author | simon <simon> | 2002-12-11 11:05:52 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-11 11:05:52 (UTC) |
commit | dd7fcdf1589c8513055f6475d3a1f33075d971d8 (patch) (side-by-side diff) | |
tree | 3b4927a023eea68d1c529b4852ce2cdd1801db49 /noncore/multimedia/opieplayer2/threadutil.cpp | |
parent | 616e7437498c7adcad77d9b79e9c450a75b260ca (diff) | |
download | opie-dd7fcdf1589c8513055f6475d3a1f33075d971d8.zip opie-dd7fcdf1589c8513055f6475d3a1f33075d971d8.tar.gz opie-dd7fcdf1589c8513055f6475d3a1f33075d971d8.tar.bz2 |
- gcc2 is not my friend, given that it can't deal with friend declarations
properly :) (a.k.a: make it compile with gcc2, step 2)
Diffstat (limited to 'noncore/multimedia/opieplayer2/threadutil.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/threadutil.cpp | 17 |
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 WaitCondition finishCondition; + + Thread *thr; + + void run() { thr->run(); } }; @@ -151,10 +155,10 @@ static void terminate_thread( void *arg ) -void *_threadutil_start_thread( void *arg ) +static void *start_thread( void *arg ) { - Thread *thr = ( Thread* )arg; + Thread::Data *data = ( Thread::Data* )arg; - pthread_cleanup_push( terminate_thread, thr->d ); + pthread_cleanup_push( terminate_thread, data ); - thr->d->isRunning = true; - thr->run(); + data->isRunning = true; + data->run(); @@ -171,2 +175,3 @@ Thread::Thread() { + d->thr = this; } @@ -191,3 +196,3 @@ void Thread::start() pthread_attr_setscope( &attributes, PTHREAD_SCOPE_SYSTEM ); - int err = pthread_create( &d->self, &attributes, _threadutil_start_thread, ( void* )this ); + int err = pthread_create( &d->self, &attributes, start_thread, ( void* )d ); if ( err != 0 ) { |