[lkml]   [1996]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: strange login problems?
    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 Walker Kvaerner Engineering a.s. P.O. Box 222, N-1324 Lysaker, Norway

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

     \ /
      Last update: 2005-03-22 13:36    [W:0.018 / U:1.168 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site