Commit a92b79e7 authored by Kevin Marshall's avatar Kevin Marshall Committed by Commit Bot

Fuchsia: Adapt struct literal to recent changes to async_ops_t.

Use named fields in compound literal for readability and protection
against struct layout churn.

Roll SDK to 3a1662dfbcb.

Bug: 707030
Change-Id: I1da12494cad5cd781ed02a519d68ebf1bea016f8
Reviewed-on: https://chromium-review.googlesource.com/1017301
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: default avatarSergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552143}
parent f42884dd
...@@ -63,7 +63,7 @@ class AsyncDispatcher::TaskState : public LinkNode<TaskState> { ...@@ -63,7 +63,7 @@ class AsyncDispatcher::TaskState : public LinkNode<TaskState> {
DISALLOW_COPY_AND_ASSIGN(TaskState); DISALLOW_COPY_AND_ASSIGN(TaskState);
}; };
AsyncDispatcher::AsyncDispatcher() { AsyncDispatcher::AsyncDispatcher() : ops_storage_({}) {
zx_status_t status = zx_port_create(0u, port_.receive()); zx_status_t status = zx_port_create(0u, port_.receive());
ZX_DCHECK(status == ZX_OK, status); ZX_DCHECK(status == ZX_OK, status);
...@@ -81,11 +81,14 @@ AsyncDispatcher::AsyncDispatcher() { ...@@ -81,11 +81,14 @@ AsyncDispatcher::AsyncDispatcher() {
ZX_WAIT_ASYNC_REPEATING); ZX_WAIT_ASYNC_REPEATING);
ZX_DCHECK(status == ZX_OK, status); ZX_DCHECK(status == ZX_OK, status);
static const async_ops_t async_ops_t_impl = { ops_storage_.v1.now = NowOp;
NowOp, BeginWaitOp, CancelWaitOp, PostTaskOp, ops_storage_.v1.begin_wait = BeginWaitOp;
CancelTaskOp, QueuePacketOp, SetGuestBellTrapOp, ops_storage_.v1.cancel_wait = CancelWaitOp;
}; ops_storage_.v1.post_task = PostTaskOp;
ops = &async_ops_t_impl; ops_storage_.v1.cancel_task = CancelTaskOp;
ops_storage_.v1.queue_packet = QueuePacketOp;
ops_storage_.v1.set_guest_bell_trap = SetGuestBellTrapOp;
ops = &ops_storage_;
DCHECK(!async_get_default()); DCHECK(!async_get_default());
async_set_default(this); async_set_default(this);
......
...@@ -71,6 +71,8 @@ class BASE_EXPORT AsyncDispatcher : public async_t { ...@@ -71,6 +71,8 @@ class BASE_EXPORT AsyncDispatcher : public async_t {
LinkedList<WaitState> wait_list_; LinkedList<WaitState> wait_list_;
async_ops_t ops_storage_;
// |lock_| must be held when accessing |task_list_|. // |lock_| must be held when accessing |task_list_|.
base::Lock lock_; base::Lock lock_;
......
4e72358ab2c48db8c421a672dc6abee3e7f59bcf 3a1662dfbcb3ad44bbc10a70c7424da462c4ba0d
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment