summaryrefslogtreecommitdiff
path: root/server/suspend.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/suspend.c')
-rw-r--r--server/suspend.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/server/suspend.c b/server/suspend.c
index 541131c..b6e1382 100644
--- a/server/suspend.c
+++ b/server/suspend.c
@@ -1,5 +1,5 @@
/*
- * $Id: suspend.c,v 1.2 2008/04/07 14:27:31 schmirl Exp $
+ * $Id: suspend.c,v 1.3 2008/10/22 11:59:32 schmirl Exp $
*/
#include "server/suspend.h"
@@ -12,6 +12,7 @@ cSuspendLive::cSuspendLive(void)
}
cSuspendLive::~cSuspendLive() {
+ Stop();
Detach();
}
@@ -24,17 +25,14 @@ void cSuspendLive::Activate(bool On) {
}
void cSuspendLive::Stop(void) {
- if (m_Active) {
- m_Active = false;
+ if (Running())
Cancel(3);
- }
}
void cSuspendLive::Action(void) {
- m_Active = true;
- while (m_Active) {
+ while (Running()) {
DeviceStillPicture(suspend_mpg, sizeof(suspend_mpg));
- usleep(100000);
+ cCondWait::SleepMs(100);
}
}
@@ -51,7 +49,7 @@ cSuspendCtl::~cSuspendCtl() {
}
eOSState cSuspendCtl::ProcessKey(eKeys Key) {
- if (!m_Suspend->IsActive() || Key == kBack) {
+ if (!m_Suspend->Active() || Key == kBack) {
DELETENULL(m_Suspend);
return osEnd;
}