11fbdc08dSPoul-Henning Kamp.\" Copyright (c) 1997 Brian Cully <shmit@kublai.com> 21fbdc08dSPoul-Henning Kamp.\" All rights reserved. 31fbdc08dSPoul-Henning Kamp.\" 41fbdc08dSPoul-Henning Kamp.\" Redistribution and use in source and binary forms, with or without 51fbdc08dSPoul-Henning Kamp.\" modification, are permitted provided that the following conditions 61fbdc08dSPoul-Henning Kamp.\" are met: 71fbdc08dSPoul-Henning Kamp.\" 1. Redistributions of source code must retain the above copyright 81fbdc08dSPoul-Henning Kamp.\" notice, this list of conditions and the following disclaimer. 91fbdc08dSPoul-Henning Kamp.\" 2. Redistributions in binary form must reproduce the above copyright 101fbdc08dSPoul-Henning Kamp.\" notice, this list of conditions and the following disclaimer in the 111fbdc08dSPoul-Henning Kamp.\" documentation and/or other materials provided with the distribution. 121fbdc08dSPoul-Henning Kamp.\" 3. Neither the name of the author nor the names of any co-contributors 131fbdc08dSPoul-Henning Kamp.\" may be used to endorse or promote products derived from this software 141fbdc08dSPoul-Henning Kamp.\" without specific prior written permission. 151fbdc08dSPoul-Henning Kamp.\" 161fbdc08dSPoul-Henning Kamp.\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND 171fbdc08dSPoul-Henning Kamp.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 181fbdc08dSPoul-Henning Kamp.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 191fbdc08dSPoul-Henning Kamp.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 201fbdc08dSPoul-Henning Kamp.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 211fbdc08dSPoul-Henning Kamp.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 221fbdc08dSPoul-Henning Kamp.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 231fbdc08dSPoul-Henning Kamp.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 241fbdc08dSPoul-Henning Kamp.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 251fbdc08dSPoul-Henning Kamp.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 261fbdc08dSPoul-Henning Kamp.\" SUCH DAMAGE. 271fbdc08dSPoul-Henning Kamp.\" 28*be50763fSKonstantin Belousov.Dd August 7, 2019 291fbdc08dSPoul-Henning Kamp.Dt PTHREAD_MUTEX_TRYLOCK 3 30a307d598SRuslan Ermilov.Os 311fbdc08dSPoul-Henning Kamp.Sh NAME 321fbdc08dSPoul-Henning Kamp.Nm pthread_mutex_trylock 331fbdc08dSPoul-Henning Kamp.Nd attempt to lock a mutex without blocking 34d8a78688SAlexey Zelkin.Sh LIBRARY 35ec7452f1SRuslan Ermilov.Lb libpthread 361fbdc08dSPoul-Henning Kamp.Sh SYNOPSIS 3732eef9aeSRuslan Ermilov.In pthread.h 381fbdc08dSPoul-Henning Kamp.Ft int 391fbdc08dSPoul-Henning Kamp.Fn pthread_mutex_trylock "pthread_mutex_t *mutex" 401fbdc08dSPoul-Henning Kamp.Sh DESCRIPTION 411fbdc08dSPoul-Henning KampThe 421fbdc08dSPoul-Henning Kamp.Fn pthread_mutex_trylock 431fbdc08dSPoul-Henning Kampfunction locks 441fbdc08dSPoul-Henning Kamp.Fa mutex . 451fbdc08dSPoul-Henning KampIf the mutex is already locked, 461fbdc08dSPoul-Henning Kamp.Fn pthread_mutex_trylock 471fbdc08dSPoul-Henning Kampwill not block waiting for the mutex, but will return an error condition. 481fbdc08dSPoul-Henning Kamp.Sh RETURN VALUES 491fbdc08dSPoul-Henning KampIf successful, 501fbdc08dSPoul-Henning Kamp.Fn pthread_mutex_trylock 511fbdc08dSPoul-Henning Kampwill return zero, otherwise an error number will be returned to 521fbdc08dSPoul-Henning Kampindicate the error. 531fbdc08dSPoul-Henning Kamp.Sh ERRORS 549d09157aSPhilippe CharnierThe 551fbdc08dSPoul-Henning Kamp.Fn pthread_mutex_trylock 569d09157aSPhilippe Charnierfunction will fail if: 572a339d9eSKonstantin Belousov.Bl -tag -width "Er ENOTRECOVERABLE" 581fbdc08dSPoul-Henning Kamp.It Bq Er EINVAL 591fbdc08dSPoul-Henning KampThe value specified by 601fbdc08dSPoul-Henning Kamp.Fa mutex 611fbdc08dSPoul-Henning Kampis invalid. 621fbdc08dSPoul-Henning Kamp.It Bq Er EBUSY 631fbdc08dSPoul-Henning Kamp.Fa Mutex 641fbdc08dSPoul-Henning Kampis already locked. 652a339d9eSKonstantin Belousov.It Bq Er EOWNERDEAD 662a339d9eSKonstantin BelousovThe argument 672a339d9eSKonstantin Belousov.Fa mutex 68*be50763fSKonstantin Belousovpoints to a robust mutex and the process containing the previous owning 69*be50763fSKonstantin Belousovthread terminated while holding the mutex lock. 702a339d9eSKonstantin BelousovThe lock was granted to the caller and it is up to the new owner 712a339d9eSKonstantin Belousovto make the state consistent. 722a339d9eSKonstantin Belousov.It Bq Er ENOTRECOVERABLE 732a339d9eSKonstantin BelousovThe state protected by the 742a339d9eSKonstantin Belousov.Fa mutex 752a339d9eSKonstantin Belousovis not recoverable. 761fbdc08dSPoul-Henning Kamp.El 771fbdc08dSPoul-Henning Kamp.Sh SEE ALSO 782a339d9eSKonstantin Belousov.Xr pthread_mutex_consistent 3 , 79acd80190SWolfram Schneider.Xr pthread_mutex_destroy 3 , 801fbdc08dSPoul-Henning Kamp.Xr pthread_mutex_init 3 , 81acd80190SWolfram Schneider.Xr pthread_mutex_lock 3 , 82acd80190SWolfram Schneider.Xr pthread_mutex_unlock 3 831fbdc08dSPoul-Henning Kamp.Sh STANDARDS 849d09157aSPhilippe CharnierThe 851fbdc08dSPoul-Henning Kamp.Fn pthread_mutex_trylock 869d09157aSPhilippe Charnierfunction conforms to 87096841ecSRuslan Ermilov.St -p1003.1-96 . 88