bugfix/dry-run-tui-freeze #88

Merged
localhorst merged 4 commits from bugfix/dry-run-tui-freeze into master 2025-12-12 22:14:48 +01:00
3 changed files with 40 additions and 18 deletions
Showing only changes of commit 7ce6986d92 - Show all commits

View File

@ -226,10 +226,10 @@ void reHDD::ThreadShred(Drive *const pDrive)
{ {
if (pDrive != nullptr) if (pDrive != nullptr)
{ {
pDrive->setActionStartTimestamp(); // save timestamp at start of shredding pDrive->setActionStartTimestamp(); // save timestamp at start of shredding
Shred *pShredTask = new Shred(); // create new shred task Shred *pShredInstance = new Shred(); // create new shred task
pShredTask->shredDrive(pDrive, &fdShredInformPipe[1]); // start new shred task pShredInstance->shredDrive(pDrive, &fdShredInformPipe[1]); // start new shred task
delete pShredTask; // delete shred task delete pShredInstance; // delete shred task
ui->updateTUI(&listDrives, u16SelectedEntry); ui->updateTUI(&listDrives, u16SelectedEntry);
} }
} }

View File

@ -42,10 +42,6 @@ int Shred::shredDrive(Drive *drive, int *ipSignalFd)
#ifdef DRYRUN #ifdef DRYRUN
for (int i = 0; i <= 100; i++) for (int i = 0; i <= 100; i++)
{ {
if (drive->state.load() != Drive::TaskState::SHRED_ACTIVE)
{
return 0;
}
drive->setTaskPercentage(i + 0.05); drive->setTaskPercentage(i + 0.05);
write(*ipSignalFd, "A", 1); write(*ipSignalFd, "A", 1);
usleep(20000); usleep(20000);
@ -204,9 +200,8 @@ int Shred::shredDrive(Drive *drive, int *ipSignalFd)
Logger::logThis()->info("Shred-Task: Checksum zero: " + to_string(drive->u32DriveChecksumAfterShredding) + " - Drive: " + drive->getSerial()); Logger::logThis()->info("Shred-Task: Checksum zero: " + to_string(drive->u32DriveChecksumAfterShredding) + " - Drive: " + drive->getSerial());
} }
#endif #endif
#endif
cleanup(); cleanup();
#endif
if ((drive->state.load() == Drive::TaskState::SHRED_ACTIVE) || (drive->state.load() == Drive::TaskState::CHECK_SUCCESSFUL) || (drive->state == Drive::TaskState::CHECK_FAILED)) if ((drive->state.load() == Drive::TaskState::SHRED_ACTIVE) || (drive->state.load() == Drive::TaskState::CHECK_SUCCESSFUL) || (drive->state == Drive::TaskState::CHECK_FAILED))
{ {