Unexpected soft update inconsistency
    Matthew Dillon 
    dillon at apollo.backplane.com
       
    Sun Jun 11 17:46:04 PDT 2006
    
    
  
:libc_r is doing that. E.g. gmake calls a threaded program, the program
:sets non-blocking mode and gmake tries to write something to stdout when
:it is blocking. This results in the error bit getting set and the error
:2 to occur during cleanup.
:
:Joerg
    The FNONBLOCK flag is a per-file-pointer flag.  Hmm.  I see two possible
    solutions:
    (1) A per-descriptor flag which libc_r can set, like close-on-exec
        (FD_CLOEXEC).  We already have most of the infrastructure required,
	including a flags variable that is passed to the FP read and write
	code (used with FOF_OFFSET).
    (2) new system call entry points for non-blocking read and write, then
	libc_r can completely ignore FNONBLOCK and just use the new entry
	points.
    Otherwise this little problem is going to bite us over and over again
    as time passes.
    I'm thinking (2) might be the only real solution.
					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>
    
    
More information about the Bugs
mailing list