Date: Wed, 9 Jun 2004 18:52:41 -0400 (EDT) From: Hiten Pandya <hmp@freebsd.org> To: Andre Oppermann <andre@freebsd.org> Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/lib/libc/stdio fclose.c Message-ID: <20040609184556.N14244@fledge.watson.org> In-Reply-To: <40C78104.F12A8948@freebsd.org> References: <200406091924.i59JOM9g016284@repoman.freebsd.org> <40C78104.F12A8948@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 9 Jun 2004, Andre Oppermann wrote: :Hiten Pandya wrote: :> :> hmp 2004-06-09 19:24:22 UTC :> :> FreeBSD src repository :> :> Modified files: (Branch: RELENG_4) :> lib/libc/stdio fclose.c :> Log: :> Revert previous commit regarding FUNLOCKFILE(fp), it has ill effects. : :What ill effects does it have? I've "make world" a couple of server :with this in. Do I have to remake them again or is it unlikely that :I run across the probems? Well, the ill effects that I came across was that people reported Mozilla and net/freeradius hanging with this change As to why it was happening; that's because of inappropriate logic employed in lib/libc_r/uthread/uthread_file.c, i.e., in the implementation of the funlockfile() function; it checks wether FILE->_file >= 0. By moving the call to FUNLOCKFILE below modification of file flags, it got confused because fclose(3) was setting FILE->_file to -1, thus leading to a confused FUNLOCKFILE. With regard to the problems, you can just recompile your libc and it should go away. Regards, Hiten Pandya hmp at freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040609184556.N14244>