MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TryAttemptLocked

Method TryAttemptLocked

tensorflow/core/kernels/queue_base.cc:264–312  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

262}
263
264bool QueueBase::TryAttemptLocked(Action action,
265 std::vector<CleanUp>* clean_up) {
266 std::deque<Attempt>* attempts =
267 action == kEnqueue ? &enqueue_attempts_ : &dequeue_attempts_;
268
269 bool progress = false;
270 bool done = false;
271 while (!done && !attempts->empty()) {
272 if (attempts->front().is_cancelled) {
273 if (action == kEnqueue) {
274 if (closed_) {
275 VLOG(1) << "Skipping cancelled enqueue attempt";
276 } else {
277 LOG(WARNING)
278 << name_
279 << ": Skipping cancelled enqueue attempt with queue not closed";
280 }
281 } else {
282 if (closed_) {
283 VLOG(1) << "Skipping cancelled dequeue attempt";
284 } else {
285 LOG(WARNING)
286 << name_
287 << ": Skipping cancelled dequeue attempt with queue not closed";
288 }
289 }
290 attempts->pop_front();
291 } else {
292 Attempt* cur_attempt = &attempts->front();
293 switch (cur_attempt->run_callback(cur_attempt)) {
294 case kNoProgress:
295 done = true;
296 break;
297 case kProgress:
298 done = true;
299 progress = true;
300 break;
301 case kComplete:
302 progress = true;
303 clean_up->emplace_back(std::move(cur_attempt->done_callback),
304 cur_attempt->cancellation_token,
305 cur_attempt->context->cancellation_manager());
306 attempts->pop_front();
307 break;
308 }
309 }
310 }
311 return progress;
312}
313
314void QueueBase::FlushUnlocked() {
315 std::vector<CleanUp> clean_up;

Callers

nothing calls this directly

Calls 5

emptyMethod · 0.45
frontMethod · 0.45
pop_frontMethod · 0.45
emplace_backMethod · 0.45
cancellation_managerMethod · 0.45

Tested by

no test coverage detected