Next: , Previous: putc, Up: Stdio


4.46 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.