Browse Source

don't bail out on locking errors, when flock() is not supported

Felix Fietkau 15 years ago
parent
commit
7840d049ef
1 changed files with 3 additions and 1 deletions
  1. 3 1
      util.c

+ 3 - 1
util.c

@@ -23,6 +23,7 @@
 #include <unistd.h>
 #include <ctype.h>
 #include <fcntl.h>
+#include <errno.h>
 
 #define LINEBUF	32
 #define LINEBUF_MAX	4096
@@ -453,7 +454,8 @@ static FILE *uci_open_stream(struct uci_context *ctx, const char *filename, int
 	if (fd < 0)
 		goto error;
 
-	if (flock(fd, (write ? LOCK_EX : LOCK_SH)) < 0)
+	ret = flock(fd, (write ? LOCK_EX : LOCK_SH));
+	if ((ret < 0) && (errno != ENOSYS))
 		goto error;
 
 	ret = lseek(fd, 0, pos);