StreamWrapperBase¶
-
class StreamWrapperBase¶
The base class for both
IStreamWrapperandOStreamWrapper, this provides the common locking interface.Inheritance diagram
digraph inheritancea2226f252c { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "StreamWrapperBase" [URL="acron.core.StreamWrapperBase.html#acron.core.StreamWrapperBase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "StreamWrapperBase" [arrowsize=0.75,style=""]; }- StreamWrapperBase.acquire()¶
Acquires the internal lock.
User code should call this to take temporary possession of the stream and perform direct I/O operations on it, for instance to make several sequential atomic reads. You may not call any of the
StreamWrappermethods while the lock is held, other thanrelease().Use with extreme caution! This is a very low-level, non-recursive lock. You must call acquire() only once, and you must later call
release()exactly once. Failing to do so may result in a hard deadlock with no available debugging features.
- StreamWrapperBase.release()¶
Releases the internal lock. Must be called exactly once following a call to
acquire(). See the cautions withacquire().