]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/sem_wait.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[thirdparty/man-pages.git] / man3 / sem_wait.3
index a85ee8b37bd63b234362dfff6fee010a49af4a31..11179b771178310977c6b40c8ca1039e87ccef02 100644 (file)
 .\" the source, must acknowledge the copyright and authors of this work.
 .\" %%%LICENSE_END
 .\"
-.TH SEM_WAIT 3 2017-03-13 "Linux" "Linux Programmer's Manual"
+.TH SEM_WAIT 3 2017-09-15 "Linux" "Linux Programmer's Manual"
 .SH NAME
 sem_wait, sem_timedwait, sem_trywait \- lock a semaphore
 .SH SYNOPSIS
 .nf
 .B #include <semaphore.h>
-.sp
+.PP
 .BI "int sem_wait(sem_t *" sem );
-.sp
+.PP
 .BI "int sem_trywait(sem_t *" sem );
-.sp
+.PP
 .BI "int sem_timedwait(sem_t *" sem ", const struct timespec *" abs_timeout );
 .fi
-.sp
+.PP
 Link with \fI\-pthread\fP.
-.sp
+.PP
 .in -4n
 Feature Test Macro Requirements for glibc (see
 .BR feature_test_macros (7)):
 .in
-.sp
+.PP
 .BR sem_timedwait ():
 _POSIX_C_SOURCE\ >=\ 200112L
 .SH DESCRIPTION
@@ -56,7 +56,7 @@ If the semaphore currently has the value zero,
 then the call blocks until either it becomes possible to perform
 the decrement (i.e., the semaphore value rises above zero),
 or a signal handler interrupts the call.
-
+.PP
 .BR sem_trywait ()
 is the same as
 .BR sem_wait (),
@@ -66,7 +66,7 @@ then call returns an error
 set to
 .BR EAGAIN )
 instead of blocking.
-
+.PP
 .BR sem_timedwait ()
 is the same as
 .BR sem_wait (),
@@ -79,15 +79,15 @@ The
 argument points to a structure that specifies an absolute timeout
 in seconds and nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
 This structure is defined as follows:
-
-.nf
+.PP
 .in +4n
+.EX
 struct timespec {
     time_t tv_sec;      /* Seconds */
     long   tv_nsec;     /* Nanoseconds [0 .. 999999999] */
 };
+.EE
 .in
-.fi
 .PP
 If the timeout has already expired by the time of the call,
 and the semaphore could not be locked immediately,
@@ -97,7 +97,7 @@ fails with a timeout error
 .RI ( errno
 set to
 .BR ETIMEDOUT ).
-
+.PP
 If the operation can be performed immediately, then
 .BR sem_timedwait ()
 never fails with a timeout error, regardless of the value of
@@ -175,9 +175,9 @@ The second command-line argument specifies the length
 of the timeout, in seconds, for
 .BR sem_timedwait ().
 The following shows what happens on two different runs of the program:
-
+.PP
 .in +4n
-.nf
+.EX
 .RB "$" " ./a.out 2 3"
 About to call sem_timedwait()
 sem_post() from handler
@@ -185,11 +185,11 @@ sem_timedwait() succeeded
 .RB "$" " ./a.out 2 1"
 About to call sem_timedwait()
 sem_timedwait() timed out
-.fi
+.EE
 .in
 .SS Program source
 \&
-.nf
+.EX
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -264,7 +264,7 @@ main(int argc, char *argv[])
 
     exit((s == 0) ? EXIT_SUCCESS : EXIT_FAILURE);
 }
-.fi
+.EE
 .SH SEE ALSO
 .BR clock_gettime (2),
 .BR sem_getvalue (3),