[futex] Use WaitQueue in futex node

Change-Id: Iaaf4192631fdf97d80786995a85f758c522baf2a
diff --git a/kernel/object/futex_node.cpp b/kernel/object/futex_node.cpp
index 1451608..87b106b 100644
--- a/kernel/object/futex_node.cpp
+++ b/kernel/object/futex_node.cpp
@@ -18,16 +18,12 @@
 
 FutexNode::FutexNode() {
     LTRACE_ENTRY;
-
-    wait_queue_ = WAIT_QUEUE_INITIAL_VALUE(wait_queue_);
 }
 
 FutexNode::~FutexNode() {
     LTRACE_ENTRY;
 
     DEBUG_ASSERT(!IsInQueue());
-
-    wait_queue_destroy(&wait_queue_);
 }
 
 bool FutexNode::IsInQueue() const {
@@ -161,7 +157,7 @@
     thread_t* current_thread = get_current_thread();
     zx_status_t result;
     current_thread->interruptable = true;
-    result = wait_queue_block(&wait_queue_, deadline);
+    result = wait_queue_.Block(deadline);
     current_thread->interruptable = false;
 
     return result;
@@ -184,7 +180,7 @@
     MarkAsNotInQueue();
 
     AutoThreadLock lock;
-    wait_queue_wake_one(&wait_queue_, /* reschedule */ true, ZX_OK);
+    wait_queue_.WakeOne(/* reschedule */ true, ZX_OK);
 }
 
 // Set |node1| and |node2|'s list pointers so that |node1| is immediately
diff --git a/kernel/object/include/object/futex_node.h b/kernel/object/include/object/futex_node.h
index ef918d3..2cd35f2 100644
--- a/kernel/object/include/object/futex_node.h
+++ b/kernel/object/include/object/futex_node.h
@@ -69,7 +69,7 @@
     uintptr_t hash_key_;
 
     // Used for waking the thread corresponding to the FutexNode.
-    wait_queue_t wait_queue_;
+    WaitQueue wait_queue_;
 
     // queue_prev_ and queue_next_ are used for maintaining a circular
     // doubly-linked list of threads that are waiting on one futex address.