Lines Matching refs:capability
103 read/write the data) unless it has the *capability* to do so.
106 methods to acquire and release the capability. The name of the object serves
107 to identify the capability. The most common example is a mutex. For example,
109 to acquire the capability to access data that is protected by ``mu``. Similarly,
110 calling ``mu.Unlock()`` releases that capability.
112 A thread may hold a capability either *exclusively* or *shared*. An exclusive
113 capability can be held by only one thread at a time, while a shared capability
121 security keys, a thread cannot make copy of a capability, nor can it destroy
122 one. A thread can only release a capability to another thread, or acquire one
130 by calculating an approximation of that set, called the *capability
131 environment*. The capability environment is calculated for every program point,
149 general capability model. The prior names are still in use, and will be
157 member is protected by the given capability. Read operations on the data
162 it points to* is protected by the given capability.
189 capabilities. More than one capability may be specified. The capabilities
219 declares that the function acquires a capability, but does not release it. The
220 caller must not hold the given capability on entry, and it will hold the
221 capability on exit. ``ACQUIRE_SHARED`` is similar.
224 capability. The caller must hold the capability on entry, and will no longer
225 hold it on exit. It does not matter whether the given capability is shared or
340 that the function returns a reference to the given capability. It is used to
389 class can be used as a capability. The string argument specifies the kind of
390 capability in error messages, e.g. ``"mutex"``. See the ``Container`` example
400 locking, in which a capability is acquired in the constructor, and released in
402 and destructor refer to the capability via different names; see the
412 capability, and returns a boolean value indicating success or failure.
424 whether the calling thread holds the given capability. The function is assumed
425 to fail (no return) if the capability is not held. See :ref:`mutexheader`,
465 ensuring that a capability is held before reading or writing to guarded data,
472 * A function which acquires a capability does not have to exclude it.
473 * A function which calls a function that excludes a capability does not
474 have transitively exclude that capability.
506 attribute, in conjunction with the ``!`` operator, to indicate that a capability
770 THREAD_ANNOTATION_ATTRIBUTE__(capability(x))