Index: base/synchronization/waitable_event.h |
diff --git a/base/synchronization/waitable_event.h b/base/synchronization/waitable_event.h |
index e8caffeec32d5b7418a87ed563f9a86eaf0c92ce..716115cc777dd06822566b18c6235e61e6d41c9d 100644 |
--- a/base/synchronization/waitable_event.h |
+++ b/base/synchronization/waitable_event.h |
@@ -155,9 +155,12 @@ class BASE_EXPORT WaitableEvent { |
#if defined(OS_WIN) |
win::ScopedHandle handle_; |
#else |
- // On Windows, one can close a HANDLE which is currently being waited on. The |
- // MSDN documentation says that the resulting behaviour is 'undefined', but |
- // it doesn't crash. However, if we were to include the following members |
+ // On Windows, you must not close a HANDLE which is currently being waited on. |
+ // The MSDN documentation says that the resulting behaviour is 'undefined'. |
+ // To solve that issue each WaitableEventWatcher duplicates the given event |
+ // handle. |
+ |
+ // However, if we were to include the following members |
// directly then, on POSIX, one couldn't use WaitableEventWatcher to watch an |
// event which gets deleted. This mismatch has bitten us several times now, |
// so we have a kernel of the WaitableEvent, which is reference counted. |