diff --git a/src/reHDD.cpp b/src/reHDD.cpp index a395908..d362463 100644 --- a/src/reHDD.cpp +++ b/src/reHDD.cpp @@ -542,7 +542,6 @@ void reHDD::startShredAllDrives(list *plistDrives) address << (void const *)&(*pTmpDrive); Logger::logThis()->info("Started shred (all) for: " + pTmpDrive->getModelName() + "-" + pTmpDrive->getSerial() + " @" + address.str()); #endif - pTmpDrive->state = Drive::TaskState::SHRED_ACTIVE; thread(ThreadShred, pTmpDrive).detach(); } } @@ -694,7 +693,6 @@ void reHDD::handleEnter() if (tmpSelectedDrive->state == Drive::TaskState::SHRED_SELECTED) { Logger::logThis()->info("Started shred/check for: " + tmpSelectedDrive->getModelName() + "-" + tmpSelectedDrive->getSerial()); - tmpSelectedDrive->state = Drive::TaskState::SHRED_ACTIVE; // task for drive is running --> don't show more task option thread(ThreadShred, tmpSelectedDrive).detach(); } diff --git a/src/shred.cpp b/src/shred.cpp index b2c6a0a..6cddd6c 100644 --- a/src/shred.cpp +++ b/src/shred.cpp @@ -38,6 +38,10 @@ int Shred::shredDrive(Drive *drive, int *ipSignalFd) address << (void const *)&(*drive); Logger::logThis()->info("Shred-Task started - Drive: " + drive->getModelName() + "-" + drive->getSerial() + " @" + address.str()); drive->bWasShredStarted = true; // Mark drive as partly shredded + drive->bWasShredded = false; + drive->setTaskPercentage(0.0); + drive->u32DriveChecksumAfterShredding = UINT32_MAX; + drive->state = Drive::TaskState::SHRED_ACTIVE; #ifdef DRYRUN for (int i = 0; i <= 100; i++)