[#BloombergLP-bslmt-RecursiveMutexImpl-01-tryLock]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmt.adoc[bslmt]::xref:BloombergLP/bslmt/RecursiveMutexImpl-01.adoc[RecursiveMutexImpl&lt;Platform::PosixThreads&gt;]::tryLock
:relfileprefix: ../../../
:mrdocs:

Attempt to acquire a lock on this mutex object&period;

== Synopsis

Declared in `&lt;bslmt&lowbar;recursivemuteximpl&lowbar;pthread&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
int
tryLock();
----

== Description

If this object is unlocked, or locked by the calling thread, then grant ownership of the lock immediately and return 0&period; Otherwise If this object is currently locked by a different thread or if an error occurs, then return a non&hyphen;zero value&period; Note that when this object is recursively locked by a thread, `unlock` must be called an equal number of times before the lock is actually released&period;

== Return Value

0 on success, and a non&hyphen;zero value if already locked by another thread or on error


[.small]#Created with https://www.mrdocs.com[MrDocs]#
