Bernd Deffner wrote:
Hallo Liste,
ich hab ein Problem mit File Locking ueber NFS. Auf meinem Suse 8.2 system mit Kernel 2.4.20 funktioniert flock() nicht, das folgende Programm meldet ENOLCK wenn es ueber NFS auf eine Datei zugreifen soll.
Auf einem aelteren System mit Suse 8.1 und Kernel 2.4.18 funktioniert es aber.
fcntl() kann ich leider nicht benutzen, da das eigentliche Programm die libgdbm verwendet und diese eben flock hernimmt. Bei den mount-options "nolock" anzugeben klappt zwar, ist aber keine akzeptable Loesung.
Wer kann helfen ?
Bernd
--------------------------------------------
#include
#include #include int main(int argc, char **argv) { int fd;
printf("opening %s\n", argv[1]); fd = open(argv[1], O_RDONLY); if (fd < 0) { perror("open"); exit(1); } if (flock(fd, LOCK_SH | LOCK_NB) < 0) { perror("flock"); exit(1); } printf("OK\n"); }
mit dem 2.4.21-4 aus people/mantel funktioniert es. Michael -- ---------------------------------------------------------- Michael Schulz, Institut f. Geophysik, Universität Münster Corrensstr. 24, 48149 Münster Tel.: 0251-8333938, e-mail: michasch@uni-muenster.de