summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-11 01:41:39 (UTC)
committer simon <simon>2002-12-11 01:41:39 (UTC)
commit2318caf33bf03acfbcbc0ccce61e3e7ff0aac4aa (patch) (side-by-side diff)
tree0fd4ed36dd54f26d730394fcef85704e04c06842
parent3ec7f32d0924c737664a6ad4dfb43dc3c20605d0 (diff)
downloadopie-2318caf33bf03acfbcbc0ccce61e3e7ff0aac4aa.zip
opie-2318caf33bf03acfbcbc0ccce61e3e7ff0aac4aa.tar.gz
opie-2318caf33bf03acfbcbc0ccce61e3e7ff0aac4aa.tar.bz2
- added bool Thread::isRunning() const
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/threadutil.cpp6
-rw-r--r--noncore/multimedia/opieplayer2/threadutil.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/threadutil.cpp b/noncore/multimedia/opieplayer2/threadutil.cpp
index 5687f42..a5cc92d 100644
--- a/noncore/multimedia/opieplayer2/threadutil.cpp
+++ b/noncore/multimedia/opieplayer2/threadutil.cpp
@@ -207,24 +207,30 @@ void Thread::terminate()
pthread_cancel( d->self );
}
bool Thread::wait()
{
AutoLock lock( d->guard );
if ( !d->isRunning )
return true;
return d->finishCondition.wait( d->guard );
}
+bool Thread::isRunning() const
+{
+ AutoLock lock( d->guard );
+ return d->isRunning;
+}
+
void Thread::exit()
{
pthread_exit( 0 );
}
OnewayNotifier::OnewayNotifier()
{
int fds[ 2 ];
pipe( fds );
m_readFd = fds[ 0 ];
m_writeFd = fds[ 1 ];
diff --git a/noncore/multimedia/opieplayer2/threadutil.h b/noncore/multimedia/opieplayer2/threadutil.h
index b537cc1..b67b61d 100644
--- a/noncore/multimedia/opieplayer2/threadutil.h
+++ b/noncore/multimedia/opieplayer2/threadutil.h
@@ -91,24 +91,26 @@ namespace ThreadUtil
{
friend void *::_threadutil_start_thread( void* );
friend void ::_threadutil_terminate_thread( void* );
public:
Thread();
virtual ~Thread();
void start();
void terminate();
bool wait();
+ bool isRunning() const;
+
static void exit();
protected:
virtual void run() = 0;
private:
struct Data;
Data *d;
};
class OnewayNotifier : public QObject
{
Q_OBJECT