| 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_;
|
|
|