Thread (1 message) 1 message, 1 author, 2015-07-17

Re: [PATCH] error.3: ATTRIBUTES: Note functions that are/aren't thread-safe

From: Zeng Linggang <hidden>
Date: 2015-07-17 03:03:05

Possibly related (same subject, not in this thread)

Hi, Michael

On Fri, 2015-07-17 at 00:05 +0200, Michael Kerrisk (man-pages) wrote:
On 06/24/2015 11:28 AM, Zeng Linggang wrote:
quoted
The markings match glibc markings.
markings of functions in glibc are:
- error:         MT-Safe locale
- error_at_line: MT-Unsafe race:error_at_line/error_one_per_line locale

Signed-off-by: Zeng Linggang <redacted>

Hi, Zeng Linggang. 

I'm having some trouble understanding the text you've added. Could you review
and resubmit, please? See below.
Sorry to bring so much trouble. I will resend this patch.

Best regards,
Zeng
quoted
---
 man3/error.3 | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
diff --git a/man3/error.3 b/man3/error.3
index 7e1d47c..f040a26 100644
--- a/man3/error.3
+++ b/man3/error.3
@@ -118,6 +118,35 @@ is assigned the address of a function
 instead of prefixing the message with the program name and colon.
 The function should print a suitable string to
 .IR stderr .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lbw37
+l l l.
+Interface	Attribute	Value
+T{
+.BR error ()
+T}	Thread safety	MT-Safe locale
+T{
+.BR error_at_line ()
+T}	Thread safety	T{
+MT-Unsafe race:error_at_line/error_one_per_line locale
+T}
+.TE
+
+The internal
+.I error_one_per_line
+variable is accessed (without any form of
+synchronization, but since it's an int used once, it should be safe
+enough) and, if this mode is enabled, static variables used to hold
What does "this mode" refer to? That needs to be made clearer in
the text.
quoted
+the last printed file name and line number are accessed and modified
+without synchronization; the update is not atomic and it occurs
+before disabling cancellation, so it can be interrupted after only
+one of the two variables is modified.  After that, it's very much
What does "it" (in "it's") refer to? error_at_line()? 
That needs to be made clearer in the text.
quoted
+like
+.BR error (3).
 .SH CONFORMING TO
 These functions and variables are GNU extensions, and should not be
 used in programs intended to be portable.
Thanks,

Michael


--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help