Index: runtime/bin/eventhandler_win.h |
diff --git a/runtime/bin/eventhandler_win.h b/runtime/bin/eventhandler_win.h |
index bfd02f945a33bc18c6ec889b774c45a5e00ea1f7..c6107ff540c2a84a2e9ed54715587cf135959bcf 100644 |
--- a/runtime/bin/eventhandler_win.h |
+++ b/runtime/bin/eventhandler_win.h |
@@ -275,6 +275,10 @@ class Handle : public DescriptorInfoBase { |
DWORD last_error_; |
+ ThreadId read_thread_id_; |
+ bool read_thread_exists_; |
+ Monitor* read_thread_monitor_; |
+ |
private: |
int flags_; |
CRITICAL_SECTION cs_; // Critical section protecting this object. |
@@ -297,6 +301,7 @@ class StdHandle : public FileHandle { |
public: |
explicit StdHandle(HANDLE handle) |
: FileHandle(handle), |
+ thread_id_(Thread::kInvalidThreadId), |
thread_wrote_(0), |
write_thread_exists_(false), |
write_thread_running_(false), |
@@ -315,6 +320,7 @@ class StdHandle : public FileHandle { |
void RunWriteLoop(); |
private: |
+ ThreadId thread_id_; |
intptr_t thread_wrote_; |
bool write_thread_exists_; |
bool write_thread_running_; |
@@ -526,6 +532,9 @@ class EventHandlerImplementation { |
private: |
ClientSocket* client_sockets_head_; |
+ Monitor* startup_monitor_; |
+ ThreadId handler_thread_id_; |
+ |
TimeoutQueue timeout_queue_; // Time for next timeout. |
bool shutdown_; |
HANDLE completion_port_; |