diff --git a/docs/xml/lazutils/lazcollections.xml b/docs/xml/lazutils/lazcollections.xml index 53536dccf9..2e399f7c76 100644 --- a/docs/xml/lazutils/lazcollections.xml +++ b/docs/xml/lazutils/lazcollections.xml @@ -23,6 +23,96 @@ + + Pointer to a PRTLEvent type + +

+ For Windows, the pointer is to a THandle type. For other platforms, the pointer is to a record type. Used to implement TWaitableSection. +

+
+ + + PRTLEvent + +
+ + + Protects a section of code in multi-threaded applications + +

+ TWaitableSection is an advanced record type used to serialize access to a section of code in a multi-threaded application. It uses a pointer to a RTL event, accessible to all interested threads, to protect its resources. When the event is set by an acquiring thread, other threads must wait until the event is reset. +

+

+ TWaitableSection is used in the implementation of the Dwarf debugger for the Lazarus IDE. +

+
+ + + PRTLEvent + +
+ + + + + + + + Gets or creates the RTL event for the synchronization object + + + RTLEventCreate + InterlockedExchange + + + + Pointer to the RTL event acquired or created in the method + + + Cached event acquired or updated in the method + + + + Caches or Frees the RTL event for the synchronization object + + + RTLEventDestroy + InterlockedExchange + + + + Cache where the RTL event is stored + + + RTL event cached or destroyed in the method + + + + Enters the protected section, or waits until it is available + + + + InterlockedCompareExchange + RTLEventSetEvent + RTLEventWaitFor + + + + True if the protected section has not been entered + + + Cached RTL event set and monitored in the method + + + + Leaves the protected section + + + InterlockedExchange + RTLEventSetEvent + + +