aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/combiner.h
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-07-08 16:57:42 -0700
committerGravatar Craig Tiller <ctiller@google.com>2016-07-08 16:57:42 -0700
commita36857da24b126300234f86450a61b7b2a7d0daa (patch)
tree2e28b10a538d08df42014f006a7864f97db1233b /src/core/lib/iomgr/combiner.h
parent919175b6194e28476626b235ae4fe02caede0bcf (diff)
Progress on a finalization list
Diffstat (limited to 'src/core/lib/iomgr/combiner.h')
-rw-r--r--src/core/lib/iomgr/combiner.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/combiner.h b/src/core/lib/iomgr/combiner.h
index a3f75d48cf..d6bc27111f 100644
--- a/src/core/lib/iomgr/combiner.h
+++ b/src/core/lib/iomgr/combiner.h
@@ -55,5 +55,13 @@ void grpc_combiner_destroy(grpc_combiner *lock);
// Execute \a action within the lock.
void grpc_combiner_execute(grpc_exec_ctx *exec_ctx, grpc_combiner *lock,
grpc_closure *closure, grpc_error *error);
+// Execute \a action within the lock just prior to unlocking.
+// if \a force_async_break is additionally set, the combiner is forced to trip
+// through the workqueue between finishing the primary queue of combined
+// closures and executing the finally list.
+// Can only be called from within a closure scheduled by grpc_combiner_execute
+void grpc_combiner_execute_finally(grpc_exec_ctx *exec_ctx, grpc_combiner *lock,
+ grpc_closure *closure, grpc_error *error,
+ bool force_async_break);
#endif /* GRPC_CORE_LIB_IOMGR_COMBINER_H */