Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sem_trywait(3) [netbsd man page]

SEM_WAIT(3)						   BSD Library Functions Manual 					       SEM_WAIT(3)

NAME
sem_wait, sem_trywait -- decrement (lock) a semaphore LIBRARY
POSIX Real-time Library (librt, -lrt) SYNOPSIS
#include <semaphore.h> int sem_wait(sem_t *sem); int sem_trywait(sem_t *sem); DESCRIPTION
The sem_wait() function decrements (locks) the semaphore pointed to by sem, but blocks if the value of sem is zero, until the value is non- zero and the value can be decremented. The sem_trywait() function decrements (locks) the semaphore pointed to by sem only if the value is non-zero. Otherwise, the semaphore is not decremented and an error is returned. RETURN VALUES
The sem_wait() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi- cate the error. ERRORS
sem_wait() and sem_trywait() will fail if: [EINVAL] sem points to an invalid semaphore. Additionally, sem_trywait() will fail if: [EAGAIN] The semaphore value was zero, and thus could not be decremented. SEE ALSO
sem_post(3) STANDARDS
sem_wait() and sem_trywait() conform to ISO/IEC 9945-1:1996 (``POSIX.1''). BSD
January 22, 2003 BSD

Check Out this Related Man Page

SEM_WAIT(3)						   BSD Library Functions Manual 					       SEM_WAIT(3)

NAME
sem_wait, sem_trywait -- decrement (lock) a semaphore LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <semaphore.h> int sem_wait(sem_t *sem); int sem_trywait(sem_t *sem); DESCRIPTION
The sem_wait() function decrements (locks) the semaphore pointed to by sem, but blocks if the value of sem is zero, until the value is non- zero and the value can be decremented. The sem_trywait() function decrements (locks) the semaphore pointed to by sem only if the value is non-zero. Otherwise, the semaphore is not decremented and an error is returned. RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS
The sem_wait() and sem_trywait() functions will fail if: [EINVAL] The sem argument points to an invalid semaphore. Additionally, sem_wait() will fail if: [EINTR] A signal interrupted this function. Additionally, sem_trywait() will fail if: [EAGAIN] The semaphore value was zero, and thus could not be decremented. SEE ALSO
sem_getvalue(3), sem_post(3), sem_timedwait(3) STANDARDS
The sem_wait() and sem_trywait() functions conform to ISO/IEC 9945-1:1996 (``POSIX.1''). BSD
April 16, 2013 BSD
Man Page

5 More Discussions You Might Find Interesting

1. Programming

semaphores

Hi there, Could someone please confirm which POSIX semaphore routines should be used for a multiprocess (and not multithreaded) environment? sys/sem.h definitely works. but the routines, semget, semctl, semop are pretty unwieldy. So, I am looking for an easier way out. From the man pages... (2 Replies)
Discussion started by: qntmteleporter
2 Replies

2. Programming

pthread_mutex_init v. sem_init v. sem_get

Apparently there are three similar features in the linux API. Can someone explain the difference between the data structures that are initialized by these functions: (1) pthread_mutex_init (2) sem_init (3) sem_get Thanks, Siegfried (5 Replies)
Discussion started by: siegfried
5 Replies

3. Programming

How to wait on multiple semaphores/mutexes

I thought one used the select function to wait on multiple semaphores but according to http://opengroup.org/onlinepubs/007908799/xsh/select.html, the select function is only good for I/O features (like pipes and fifos). How can I block for multiple semaphores? What if I have a mixture of things... (1 Reply)
Discussion started by: siegfried
1 Replies

4. Programming

ResumeThread on POSIX

Hi all How i can create thread in SUSPENDED mode, and resume when i want. I have win code with CreateThread (parameter CREATE_SUSPEND), and Resume Thread, but on POSIX with pthread i cant do it. Please help me. Best regards // Kolesar (5 Replies)
Discussion started by: Kolesar
5 Replies

5. AIX

Cannot create user using SMITTY

i'm using smitty to create user...what happen is it prompt me "failed" with error 3004-703 Check "/etc/security/login.cfg" file. 3004-691 Error changing "shell". 3004-703 Check "/usr/lib/security/mkuser.default" file. 3004-721 Could not create user. 3004-703 Check... (13 Replies)
Discussion started by: thecobra151
13 Replies