X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fcomponents%2Ffile_eraser.cpp;h=9f92fa443012c5dee57090f82c5433ca5e9e29d8;hp=6cacf04514d7a46e55c815ec24c4bd005429903a;hb=849b33656dc710cfa5f644a55680fd396ab1d8d7;hpb=2c76959422e7f57e43a359ff1d5ceb74dc4232d5 diff --git a/lib/components/file_eraser.cpp b/lib/components/file_eraser.cpp index 6cacf04..9f92fa4 100644 --- a/lib/components/file_eraser.cpp +++ b/lib/components/file_eraser.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -10,12 +11,12 @@ eBackgroundFileEraser *eBackgroundFileEraser::instance; eBackgroundFileEraser::eBackgroundFileEraser() - :messages(this,1), stop_thread_timer(this) + :messages(this,1), stop_thread_timer(eTimer::create(this)) { if (!instance) instance=this; CONNECT(messages.recv_msg, eBackgroundFileEraser::gotMessage); - CONNECT(stop_thread_timer.timeout, eBackgroundFileEraser::idle); + CONNECT(stop_thread_timer->timeout, eBackgroundFileEraser::idle); } void eBackgroundFileEraser::idle() @@ -28,15 +29,22 @@ eBackgroundFileEraser::~eBackgroundFileEraser() messages.send(Message::quit); if (instance==this) instance=0; + kill(); // i dont understand why this is needed .. in ~eThread::eThread is a kill() to.. } void eBackgroundFileEraser::thread() { hasStarted(); + nice(5); + + setIoPrio(IOPRIO_CLASS_BE, 7); + reset(); + runLoop(); - stop_thread_timer.stop(); + + stop_thread_timer->stop(); } void eBackgroundFileEraser::erase(const char *filename) @@ -44,7 +52,7 @@ void eBackgroundFileEraser::erase(const char *filename) if (filename) { char buf[255]; - snprintf(buf, 255, "%s.$$$", filename); + snprintf(buf, 255, "%s.del", filename); if (rename(filename, buf)<0) ;/*perror("rename file failed !!!");*/ else @@ -68,7 +76,7 @@ void eBackgroundFileEraser::gotMessage(const Message &msg ) eDebug("file %s erased", msg.filename); free((char*)msg.filename); } - stop_thread_timer.start(2000, true); // stop thread in two seconds + stop_thread_timer->start(1000, true); // stop thread in one seconds break; case Message::quit: quit(0);