putc_unlocked
—non-thread-safe version of putc (macro)Synopsis
#include <stdio.h> int putc_unlocked(int ch, FILE *fp); #include <stdio.h> int _putc_unlocked_r(struct _reent *ptr, int ch, FILE *fp);
Description
putc_unlocked
is a non-thread-safe version of putc
declared in
stdio.h
. putc_unlocked
may only safely be used within a scope
protected by flockfile() (or ftrylockfile()) and funlockfile(). These
functions may safely be used in a multi-threaded 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 threads are disabled, then
putc_unlocked
is equivalent to putc
.
The function _putc_unlocked_r
is simply the reentrant version of
putc_unlocked
that takes an additional reentrant structure pointer
argument: ptr.
Returns
See putc
.
Portability
POSIX 1003.1 requires putc_unlocked
. putc_unlocked
may be
implemented as a macro, so arguments should not have side-effects.
Supporting OS subroutines required: close
, fstat
, isatty
,
lseek
, read
, sbrk
, write
.