#include <lib/components/file_eraser.h>
+#include <lib/base/ioprio.h>
#include <lib/base/eerror.h>
#include <lib/base/init.h>
#include <lib/base/init_num.h>
eBackgroundFileEraser::~eBackgroundFileEraser()
{
messages.send(Message::quit);
- if ( thread_running() )
- kill();
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();
}
else
{
messages.send(Message(Message::erase, strdup(buf)));
- if (!thread_running())
- run();
+ run();
}
}
}
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);