Skip to contentSkip to conversation

getttyent.3: Add description of the functions are not thread-safe

PATCH Applied Peng Haitao 2 participants 2 messages Sep 15, 2011 – Mar 17, 2013 1 message not in the archive Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 getttyent.3: Add description of the functions are not thread-safe

The function getttyent() returns a pointer to the static variable, so it is not thread-safe. The functions setttyent() and endttyent() use a static variable "tf", so they are not thread-safe. The function getttynam() calls unsafe function getttyent(), so it is not thread-safe.

---
 man3/getttyent.3 |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)
man3/getttyent.3 +18 -1
index 1cf8ebc..a4e9b17 100644
@@ -1,7 +1,7 @@
 .\"  Copyright 2002 walter harms (walter.harms-jNDFPZUTrfTUvfpBxBsQfasoZZ7OtMbqG9Ur7JDdleE@public.gmane.org)
 .\"  Distributed under GPL
 .\"
-.TH GETTTYENT 3 2002-07-18  "GNU" "Linux Programmer's Manual"
+.TH GETTTYENT 3 2011-09-15  "GNU" "Linux Programmer's Manual"
 .SH NAME
 getttyent, getttynam, setttyent, endttyent \- get ttys file entry
 .SH SYNOPSIS
@@ -66,6 +66,23 @@ can be:
 #define TTY_ON     0x01  /* enable logins (start ty_getty program) */
 #define TTY_SECURE 0x02  /* allow UID 0 to login */
 .fi
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR getttyent ()
+returns a pointer to the static variable, so it is not thread-safe.
+.LP
+The
+.BR setttyent ()
+and
+.BR endttyent ()
+use a static variable, so they are not thread-safe.
+.LP
+The
+.BR getttynam ()
+calls thread-unsafe function
+.BR getttyent ()
+so it is not thread-safe.
 .SH "CONFORMING TO"
 Not in POSIX.1-2001.
 Present on the BSDs, and perhaps other systems.
Signature · 10 lines
1.7.1

-- 
Best Regards,
Peng Haitao

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 5 lines · Peng Haitao

The function getttyent() returns a pointer to the static variable, so it is not thread-safe. The functions setttyent() and endttyent() use a static variable "tf", so they are not thread-safe. The function getttynam() calls unsafe function getttyent(), so it is not thread-safe.

Applied. Thanks!

Michael

Quoted 53 lines
---
 man3/getttyent.3 |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)
man3/getttyent.3 +18 -2
index 1cf8ebc..a4e9b17 100644
@@ -1,7 +1,7 @@
 .\"  Copyright 2002 walter harms (walter.harms-jNDFPZUTrfTUvfpBxBsQfasoZZ7OtMbqG9Ur7JDdleE@public.gmane.org)
 .\"  Distributed under GPL
 .\"
-.TH GETTTYENT 3 2002-07-18  "GNU" "Linux Programmer's Manual"
+.TH GETTTYENT 3 2011-09-15  "GNU" "Linux Programmer's Manual"
 .SH NAME
 getttyent, getttynam, setttyent, endttyent \- get ttys file entry
 .SH SYNOPSIS
@@ -66,6 +66,23 @@ can be:
 #define TTY_ON     0x01  /* enable logins (start ty_getty program) */
 #define TTY_SECURE 0x02  /* allow UID 0 to login */
 .fi
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR getttyent ()
+returns a pointer to the static variable, so it is not thread-safe.
+.LP
+The
+.BR setttyent ()
+and
+.BR endttyent ()
+use a static variable, so they are not thread-safe.
+.LP
+The
+.BR getttynam ()
+calls thread-unsafe function
+.BR getttyent ()
+so it is not thread-safe.
 .SH "CONFORMING TO"
 Not in POSIX.1-2001.
 Present on the BSDs, and perhaps other systems.
--

1.7.1

--
Best Regards,
Peng Haitao

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 7 lines
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html