putchar_unlocked#
Synopsis#
#include <stdio.h>
int getc_unlocked(FILE *stream);
int getchar_unlocked(void);
int putc_unlocked(int c, FILE *stream);
int putchar_unlocked(int c);
Status#
Partially implemented
Conformance#
IEEE Std 1003.1-2017
Description#
Versions of the functions getc(), getchar(), putc(), and putchar() respectively named getc_unlocked(),
getchar_unlocked(),putc_unlocked(), and putchar_unlocked() shall be provided which are functionally equivalent to
the original versions, with the exception that they are not required to be implemented in a fully thread-safe manner.
They shall be thread-safe when used within a scope protected by flockfile() (or ftrylockfile()) and funlockfile().
These functions can safely be used in a multithreaded program if and only if they are called while the invoking thread
owns the ( FILE *) object, as is the case after a successful call to the flockfile() or ftrylockfile() functions.
If getc_unlocked() or putc_unlocked() are implemented as macros they may evaluate stream more than once, so
the stream argument should never be an expression with side effects.
Return value#
See getc(), getchar(), putc(), and putchar().
Errors#
See getc(), getchar(), putc(), and putchar().
Tests#
Untested
Known bugs#
None