summaryrefslogtreecommitdiff
path: root/manual/signal.texi
diff options
context:
space:
mode:
Diffstat (limited to 'manual/signal.texi')
-rw-r--r--manual/signal.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/manual/signal.texi b/manual/signal.texi
index bc69019e63..7948229871 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -2927,6 +2927,14 @@ The function was interrupted by delivery of a signal.
If the signal causes program termination, @code{pause} doesn't return
(obviously).
+This function is a cancelation point in multi-threaded programs. This
+is a problem if the thread allocates some resources (like memory, file
+descriptors, semaphores or whatever) at the time @code{pause} is
+called. If the thread gets canceled these resources stay allocated
+until the program ends. To avoid this calls to @code{pause} should be
+protected using cancelation handlers.
+@c ref pthread_cleanup_push / pthread_cleanup_pop
+
The @code{pause} function is declared in @file{unistd.h}.
@end deftypefun