What mechanism can be used to take a record lock on a file?
> whats mechanism can be used to take a record lock on a file (using the > fcntl() call), in a posix multi threaded application. Seems to me that > these locks are process based, and therfore multiple threads within the same > process are treated as the same thing. > > Any pointer would be appreciated This has been discussed several times before. Yes, fcntl() locks are process-based, for a number of reasons historical and pragmatic. Some people have successfully built a two-level file locking strategy that uses mutexes between threads within a process and fcntl() between processes. Essentially, you reference count the fcntl() lock(s) so that the process holds an fcntl() lock whenever any thread within the process has an area locked; if more than one thread within the process is interested in the same file area, they synchronized among themselves using a mutex. I believe that sample code may have been posted. Search the newsgroup archives, if you can find a good server. (I don’t know wh