| 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.
|
|
|