The funlockfile function unlocks a stdio stream, causing the thread that had been holding the lock to relinquish exclusive use of the stream. File pointers passed are assumed to be valid; flockfile will perform locking even on invalid file pointers. Also, the funlockfile function will not fail if the calling thread does not own a lock on the file pointer passed. Matching flockfile and funlockfile calls can be nested. If the stream has been locked recursively, it will remain locked until the last matching funlockfile is called. All C RTL file-pointer I/O functions lock their file pointers as if calling flockfile and funlockfile. See also flockfile and ftrylockfile.