aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/workqueue_posix.h
diff options
context:
space:
mode:
authorGravatar Mark D. Roth <roth@google.com>2016-09-16 13:34:42 -0700
committerGravatar Mark D. Roth <roth@google.com>2016-09-16 13:34:42 -0700
commit63cae4f11ae9493f8936a2e00179d28c054b682a (patch)
tree7008ffd7f6baeed840545c44ebe01170e4a279cb /src/core/lib/iomgr/workqueue_posix.h
parentd316beff3c9c135ec1e60bf9182f7968e73790c6 (diff)
parent999b49bf39bbc7764b50c50548d0f61280f873e2 (diff)
Merge branch 'grpclb_resolver_changes2' into service_config
Diffstat (limited to 'src/core/lib/iomgr/workqueue_posix.h')
-rw-r--r--src/core/lib/iomgr/workqueue_posix.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/lib/iomgr/workqueue_posix.h b/src/core/lib/iomgr/workqueue_posix.h
index 0f26ba58e2..03ee21cef7 100644
--- a/src/core/lib/iomgr/workqueue_posix.h
+++ b/src/core/lib/iomgr/workqueue_posix.h
@@ -35,14 +35,17 @@
#define GRPC_CORE_LIB_IOMGR_WORKQUEUE_POSIX_H
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/support/mpscq.h"
struct grpc_fd;
struct grpc_workqueue {
gpr_refcount refs;
-
- gpr_mu mu;
- grpc_closure_list closure_list;
+ gpr_mpscq queue;
+ // state is:
+ // lower bit - zero if orphaned
+ // other bits - number of items enqueued
+ gpr_atm state;
grpc_wakeup_fd wakeup_fd;
struct grpc_fd *wakeup_read_fd;