Index: base/message_pump_win.h |
diff --git a/base/message_pump_win.h b/base/message_pump_win.h |
index e778e01fb2abab53971dd93b3cdb9780e080cecb..fccec3d625f5c10fac3438381e1f94eb7623379d 100644 |
--- a/base/message_pump_win.h |
+++ b/base/message_pump_win.h |
@@ -296,6 +296,11 @@ class BASE_EXPORT MessagePumpForIO : public MessagePumpWin { |
// |handler| must be valid as long as there is pending IO for the given file. |
void RegisterIOHandler(HANDLE file_handle, IOHandler* handler); |
+ // Register the handler to be used to process job events. The registration |
+ // persists as long as the job object is live, so |handler| must be valid |
+ // until the job object is destoyed. |
+ bool RegisterJobObject(HANDLE job_handle, IOHandler* handler); |
+ |
// Waits for the next IO completion that should be processed by |filter|, for |
// up to |timeout| milliseconds. Return true if any IO operation completed, |
// regardless of the involved handler, and false if the timeout expired. If |
@@ -316,6 +321,9 @@ class BASE_EXPORT MessagePumpForIO : public MessagePumpWin { |
IOContext* context; |
DWORD bytes_transfered; |
DWORD error; |
+ |
+ // |true| if |context| is a valid IOContext pointer. |
+ bool has_context; |
jar (doing other things)
2012/08/11 02:30:01
With a pointer, it is confusing to have a bool, an
alexeypa (please no reviews)
2012/08/13 15:15:14
Done.
|
}; |
virtual void DoRunLoop(); |
@@ -326,6 +334,13 @@ class BASE_EXPORT MessagePumpForIO : public MessagePumpWin { |
void WillProcessIOEvent(); |
void DidProcessIOEvent(); |
+ // Converts an IOHandler pointer to a completion port key. |has_context| |
+ // specifies whether complation packets will have valid OVERLAPPED pointers. |
jar (doing other things)
2012/08/11 02:30:01
typo: complation
alexeypa (please no reviews)
2012/08/13 15:15:14
Done.
|
+ static ULONG_PTR HandlerToKey(IOHandler* handler, bool has_context); |
+ |
+ // Converts a completion port key to an IOHandler pointer. |
+ static IOHandler* KeyToHandler(ULONG_PTR key, bool* has_context_out); |
+ |
// The completion port associated with this thread. |
win::ScopedHandle port_; |
// This list will be empty almost always. It stores IO completions that have |