diff --git a/src/cpp/common/completion_queue.cc b/src/cpp/common/completion_queue.cc index cea2d24831cfdc8d751806b93af183552ff82986..7cea0185ec6c0f77ff58114293a720799578c829 100644 --- a/src/cpp/common/completion_queue.cc +++ b/src/cpp/common/completion_queue.cc @@ -59,10 +59,14 @@ class EventDeleter { CompletionQueue::NextStatus CompletionQueue::AsyncNextInternal( void** tag, bool* ok, gpr_timespec deadline) { std::unique_ptr<grpc_event, EventDeleter> ev; + void *dummy; + + if (tag == nullptr) // If user doesn't care + tag = &dummy; // Need to pass down something for (;;) { ev.reset(grpc_completion_queue_next(cq_, deadline)); - if (!ev) { /* got a NULL back because deadline passed */ + if (!ev) { // got a NULL back because deadline passed return TIMEOUT; } if (ev->type == GRPC_QUEUE_SHUTDOWN) {