frexpl: Update autoconf test.
[gnulib.git] / lib / strerror.c
index 8c41179..63899ca 100644 (file)
@@ -45,10 +45,13 @@ strerror (int n)
   if (msg)
     return (char *) msg;
 
+  msg = strerror (n);
+
   /* Our strerror_r implementation might use the system's strerror
      buffer, so all other clients of strerror have to see the error
-     copied into a buffer that we manage.  */
-  msg = strerror (n);
+     copied into a buffer that we manage.  This is not thread-safe,
+     even if the system strerror is, but portable programs shouldn't
+     be using strerror if they care about thread-safety.  */
   if (!msg || !*msg)
     {
       static char const fmt[] = "Unknown error %d";