Copyright Digital Equipment Corp. All rights reserved.

Description

   The reentrant version of the ferror function is locked against
   multiple threads calling it simultaneously. This incurs overhead
   to ensure integrity of the stream. The unlocked version of this
   call, ferror_unlocked can be used to avoid the overhead. The
   ferror_unlocked function is functionally identical to the ferror
   function, except that it is not required to be implemented in a
   thread-safe manner. The ferror_unlocked function can be safely
   used only within a scope that is protected by the flockfile and
   funlockfile functions used as a pair. The caller must ensure that
   the stream is locked before ferror_unlocked is used.

   See also flockfile, ftrylockfile, and funlockfile.