aboutsummaryrefslogtreecommitdiff
path: root/lib/base/filepush.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-01-30 23:32:15 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-01-30 23:32:15 +0000
commit5655fee2e15bf1cfc0fe06a85e3c864dbfcd41ce (patch)
tree04b2ca81ee83f3fad88ef645d42a04c53f02563a /lib/base/filepush.cpp
parent05ced3ba36c17c6a13ebb038dee5546c61576ce2 (diff)
downloadenigma2-5655fee2e15bf1cfc0fe06a85e3c864dbfcd41ce.tar.gz
enigma2-5655fee2e15bf1cfc0fe06a85e3c864dbfcd41ce.zip
add a workaround to ensure that the filepush thread take notice of the
stop thread signal even when no syscall is in progress
Diffstat (limited to 'lib/base/filepush.cpp')
-rw-r--r--lib/base/filepush.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/base/filepush.cpp b/lib/base/filepush.cpp
index 554c7845..8424ae41 100644
--- a/lib/base/filepush.cpp
+++ b/lib/base/filepush.cpp
@@ -176,7 +176,15 @@ void eFilePushThread::stop()
return;
m_stop = 1;
- sendSignal(SIGUSR1);
+
+ // fixmee.. here we need a better solution to ensure
+ // that the thread context take notice of the signal
+ // even when no syscall is in progress
+ while(!sendSignal(SIGUSR1))
+ {
+ eDebug("send SIGUSR1 to thread context");
+ usleep(5000); // wait msek
+ }
kill();
}