Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • rand()
  • getenv()
  • strtok()
  • strerror()
  • asctime()
  • ctime()

POSIX.1-2008 has a much longer list, in section 2.9.1 of the System Interfaces volume, of functions that are not required to be thread-safe.

Non Compliant Code Example

...

Code Block
bgColor#ccccff
FILE* fd = fopen( filename, "r");
if (fd == NULL) {
  char errmsg[BUFSIZ];
  if (strerror_r( errno, errmsg, BUFSIZ) =!= -10) {
    /* handle error */
  }
  printf("Could not open file because of %s\n", errmsg);
}

...

Wiki Markup
\[[N1401-C1X Draft|http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1401.pdf]\] Section 7.21.2.1 rand() function, Section 7.21.4.6 getenv() function, Section 7.22.5.8 strtok() function, Section 7.22.6.2 strerror() function, Section 7.25.3.1 asctime() function, Section 7.25.3.2 ctime() function
\[[Historical information about POSIX.1 Thread Safety|http://www.unix.org/whitepapers/reentrant.html]\]

...