From 724ef464b2bfbab76fa3902a5a0e31d3b67944fd Mon Sep 17 00:00:00 2001 From: AJ Heller Date: Thu, 17 Aug 2023 10:52:36 -0700 Subject: [PATCH] [docs] Document Alarm thread-safety guarantees (#34092) --- include/grpcpp/alarm.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/grpcpp/alarm.h b/include/grpcpp/alarm.h index fbecca4ac7c..bace15ec89c 100644 --- a/include/grpcpp/alarm.h +++ b/include/grpcpp/alarm.h @@ -38,6 +38,11 @@ namespace grpc { /// The \a Alarm API has separate \a Set methods for CompletionQueues and /// callbacks, but only one can be used at any given time. After an alarm has /// been triggered or cancelled, the same Alarm object may reused. +/// +/// Alarm methods are not thread-safe. Applications must ensure a strict +/// ordering between calls to \a Set and \a Cancel. This also implies that any +/// cancellation that occurs before the alarm has been set will have no effect +/// on any future \a Set calls. class Alarm : private grpc::internal::GrpcLibrary { public: /// Create an unset Alarm.