From a729f60cd3a8fbf06d26f1665ac9b58f2e0b30e0 Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Mon, 2 May 2016 22:24:32 -0700
Subject: [PATCH] Add some comments

---
 src/core/lib/iomgr/async_execution_lock.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/core/lib/iomgr/async_execution_lock.h b/src/core/lib/iomgr/async_execution_lock.h
index 66551f9398..ba78f81cca 100644
--- a/src/core/lib/iomgr/async_execution_lock.h
+++ b/src/core/lib/iomgr/async_execution_lock.h
@@ -40,6 +40,11 @@
 #include "src/core/lib/iomgr/exec_ctx.h"
 #include "src/core/lib/support/mpscq.h"
 
+// Provides serialized access to some resource.
+// Each action queued on an aelock is executed serially in a borrowed thread.
+// The actual thread executing actions may change over time (but there will only
+// every be one at a time).
+
 typedef void (*grpc_aelock_action)(grpc_exec_ctx *exec_ctx, void *arg);
 
 typedef struct grpc_aelock_qnode {
@@ -54,8 +59,13 @@ typedef struct grpc_aelock {
   gpr_atm locked;
 } grpc_aelock;
 
+// Initialize the lock, with an optional workqueue to shift load to when
+// necessary
 void grpc_aelock_init(grpc_aelock *lock, grpc_workqueue *optional_workqueue);
+// Destroy the lock
 void grpc_aelock_destroy(grpc_aelock *lock);
+// Execute \a action within the lock. \a arg is the argument to pass to \a
+// action and sizeof_arg is the sizeof(*arg), or 0 if arg is non-copyable.
 void grpc_aelock_execute(grpc_exec_ctx *exec_ctx, grpc_aelock *lock,
                          grpc_aelock_action action, void *arg,
                          size_t sizeof_arg);
-- 
GitLab