CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]        2026/01/19 16:01:00

Modified files:
        regress/lib/libc/stdio_threading: Makefile 
        lib/libc/stdio : flockfile.c 
Added files:
        regress/lib/libc/stdio_threading/flockfile: Makefile 
                                                    flockfile_test.c 

Log message:
While almost all the libc locks are taken and released in the same
libc call, flockfile() and ftrylockfile() can be called when
single-threaded and then--while 'holding' the lock--the process can
create another thread, resulting in a broken state.  Have the
f{lock,trylock,unlock}file() APIs *always* do real locking so the
exposed state is always consistent.

ok dlg@

Reply via email to