|
@ -392,6 +392,7 @@ inline std::unique_ptr<dsacache::CacheData> dsacache::Cache::Access(uint8_t* dat |
|
|
// data source location
|
|
|
// data source location
|
|
|
|
|
|
|
|
|
if (CheckFlag(flags, FLAG_ACCESS_WEAK)) { |
|
|
if (CheckFlag(flags, FLAG_ACCESS_WEAK)) { |
|
|
|
|
|
std::cerr << "WEAK ACCESS FAILED!" << std::endl; |
|
|
task->SetCacheToSource(); |
|
|
task->SetCacheToSource(); |
|
|
return std::move(task); |
|
|
return std::move(task); |
|
|
} |
|
|
} |
|
@ -763,6 +764,7 @@ inline void dsacache::CacheData::WaitOnCompletion() { |
|
|
|
|
|
|
|
|
for (auto& handler : *local_handlers) { |
|
|
for (auto& handler : *local_handlers) { |
|
|
if (CheckFlag(flags_, FLAG_WAIT_WEAK) && !handler.is_finished()) { |
|
|
if (CheckFlag(flags_, FLAG_WAIT_WEAK) && !handler.is_finished()) { |
|
|
|
|
|
std::cerr << "WEAK WAIT FAIL!" << std::endl; |
|
|
handlers_->store(local_handlers); |
|
|
handlers_->store(local_handlers); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
@ -772,6 +774,7 @@ inline void dsacache::CacheData::WaitOnCompletion() { |
|
|
if (result.status != dml::status_code::ok) { |
|
|
if (result.status != dml::status_code::ok) { |
|
|
// if one of the copy tasks failed we abort the whole task
|
|
|
// if one of the copy tasks failed we abort the whole task
|
|
|
// after all operations are completed on it
|
|
|
// after all operations are completed on it
|
|
|
|
|
|
std::cerr << "ERROR (" << dml::StatusCodeToString(result.status) << ") FOUND FOR TASK IN WAIT!" << std::endl; |
|
|
error = true; |
|
|
error = true; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|