• R
    correct locking in stdio functions that tried to be lock-free · c8cb6bcd
    Rich Felker 提交于
    these functions must behave as if they obtain the lock via flockfile
    to satisfy POSIX requirements. since another thread can provably hold
    the lock when they are called, they must wait to obtain the lock
    before they can return, even if the correct return value could be
    obtained without locking. in the case of fclose and freopen, failure
    to do so could cause correct (albeit obscure) programs to crash or
    otherwise misbehave; in the case of feof, ferror, and fwide, failure
    to obtain the lock could sometimes return incorrect results. in any
    case, having these functions proceed and return while another thread
    held the lock was wrong.
    c8cb6bcd
fclose.c 438 字节