forked from mirrors/gecko-dev
Depends on D137612 Differential Revision: https://phabricator.services.mozilla.com/D137650
42 lines
722 B
ReStructuredText
42 lines
722 B
ReStructuredText
PR_Lock
|
|
=======
|
|
|
|
Locks a specified lock object.
|
|
|
|
|
|
Syntax
|
|
------
|
|
|
|
.. code:: eval
|
|
|
|
#include <prlock.h>
|
|
|
|
void PR_Lock(PRLock *lock);
|
|
|
|
|
|
Parameter
|
|
~~~~~~~~~
|
|
|
|
:ref:`PR_Lock` has one parameter:
|
|
|
|
``lock``
|
|
A pointer to a lock object to be locked.
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
When :ref:`PR_Lock` returns, the calling thread is "in the monitor," also
|
|
called "holding the monitor's lock." Any thread that attempts to acquire
|
|
the same lock blocks until the holder of the lock exits the monitor.
|
|
Acquiring the lock is not an interruptible operation, nor is there any
|
|
timeout mechanism.
|
|
|
|
:ref:`PR_Lock` is not reentrant. Calling it twice on the same thread
|
|
results in undefined behavior.
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :ref:`PR_Unlock`
|