aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/lockfree_event.h
diff options
context:
space:
mode:
authorGravatar ncteisen <ncteisen@gmail.com>2017-11-21 16:22:00 -0500
committerGravatar ncteisen <ncteisen@gmail.com>2017-11-21 16:22:00 -0500
commite8bb8749ed8bc7e76f5de91370c7d8600059ff98 (patch)
tree01274952c6144f919ebfb2cecb73637dd37397f0 /src/core/lib/iomgr/lockfree_event.h
parentabdc290d26a059aa814d32da4e09643db9eaf0d3 (diff)
parent9c26f6866ac31c5ebe1d4bb48e81cdda5264921a (diff)
Merge branch 'master' of https://github.com/grpc/grpc into no-more-extern-c
Diffstat (limited to 'src/core/lib/iomgr/lockfree_event.h')
-rw-r--r--src/core/lib/iomgr/lockfree_event.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/lib/iomgr/lockfree_event.h b/src/core/lib/iomgr/lockfree_event.h
index c667dcd3bc..aec67a3399 100644
--- a/src/core/lib/iomgr/lockfree_event.h
+++ b/src/core/lib/iomgr/lockfree_event.h
@@ -30,11 +30,16 @@ namespace grpc_core {
class LockfreeEvent {
public:
LockfreeEvent();
- ~LockfreeEvent();
LockfreeEvent(const LockfreeEvent&) = delete;
LockfreeEvent& operator=(const LockfreeEvent&) = delete;
+ // These methods are used to initialize and destroy the internal state. These
+ // cannot be done in constructor and destructor because SetReady may be called
+ // when the event is destroyed and put in a freelist.
+ void InitEvent();
+ void DestroyEvent();
+
bool IsShutdown() const {
return (gpr_atm_no_barrier_load(&state_) & kShutdownBit) != 0;
}