Problem with inn_lock_range

Kiernan, Alex alexk at demon.net
Thu Dec 19 03:57:42 UTC 2002


I've been staring at the buffindexed problems and, at least on Solaris, I
think I know why its broken - inn_lock_range doesn't work for files which
are mmaped. Basically all the fcntl(F_SETLKW) return EAGAIN, because:

"    The fcntl() function will fail if:

     EAGAIN
...
           or the cmd argument
           is F_SETLK, F_SETLK64, F_SETLKW, or F_SETLKW64, manda-
           tory file/record locking  is  set,  and  the  file  is
           currently   being   mapped  to  virtual  memory  using
           mmap(2).
"

this is also true for tradindexed BTW on the group.index file (at least the
old implementation - not running the new one yet) - I'd seen the streams of
EAGAINs when trussing, just never looked hard enough.

-- 
Alex Kiernan, Principal Engineer, Development, THUS plc


More information about the inn-workers mailing list