Re: strange login problems?

Andrew Walker (andy@lysaker.kvaerner.no)
Thu, 25 Apr 1996 14:16:59 +0200 (MET DST)


valhalla wrote:
>
> when I log in on one of my virtual terminals since I have upgraded to
> 1.3.59 I get a strange error:
> fcntl_setlk() called by process 285 with broken flock() emulation
> any idea of what could be causeing this / how it would be fixed?
> -Joe
> my system is slack3.0 running on a p150 if that is worth anything

Yeehaa! Here comes the flood.

It's caused by a line I put in 'linux/fs/locks.c', that checks for
'out-of-date' C libraries calling the old flock() emulation in
the kernel.

In the pre-1.2.0 days flock() locking was emulated by calling
fcntl() with special parameters, but that emulation was severely
broken (just ask anybody who tried compiling sendmail with flock()
locking enabled).

Just in time for 1.3.0 I implemented a proper flock() system call
with the true BSD semantics, and the C library was updated to
use this instead. At that time the development C library was
around version 5.1.3. Unfortunately the ELF Linux distributions
that we have seen so far still distribute libc-5.0.9 which uses
the old broken method.

As we are now approaching kernel version 2.0 I decided to try and
weed out applications using the old method, on the assumption that
new distributions based on 2.0 will distribute a newer C library
which does 'The Right Thing' ((c) Linus Torvalds)

The answer is to get a new C library. If symptoms persist then
you must have some old static binaries. Recompile them and the
annoying little messages will go away. Or just comment out the
line and carry on regardless ;-)

-Andy

-- 
Andy Walker                              Kvaerner Engineering a.s.
Andrew.Walker@lysaker.kvaerner.no        P.O. Box 222, N-1324 Lysaker, Norway

......if the answer isn't violence, neither is your silence......