1702f2ca74
creating the etab file.
27 lines
931 B
Diff
27 lines
931 B
Diff
diff -up nfs-utils-1.1.0/support/nfs/xio.c.orig nfs-utils-1.1.0/support/nfs/xio.c
|
|
--- nfs-utils-1.1.0/support/nfs/xio.c.orig 2007-05-10 23:40:57.000000000 -0400
|
|
+++ nfs-utils-1.1.0/support/nfs/xio.c 2007-08-15 22:23:13.000000000 -0400
|
|
@@ -54,13 +54,20 @@ xflock(char *fname, char *type)
|
|
{
|
|
struct sigaction sa, oldsa;
|
|
int readonly = !strcmp(type, "r");
|
|
+ mode_t mode = (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
|
|
struct flock fl = { readonly? F_RDLCK : F_WRLCK, SEEK_SET, 0, 0, 0 };
|
|
int fd;
|
|
|
|
- if ((fd = open(fname, readonly? O_RDONLY : (O_RDWR|O_CREAT))) < 0) {
|
|
- xlog(L_WARNING, "could not open %s for locking", fname);
|
|
+ if (readonly)
|
|
+ fd = open(fname, O_RDONLY);
|
|
+ else
|
|
+ fd = open(fname, (O_RDWR|O_CREAT), mode);
|
|
+ if (fd < 0) {
|
|
+ xlog(L_WARNING, "could not %s %s for locking",
|
|
+ (readonly ? "open" : "create"), fname);
|
|
return -1;
|
|
}
|
|
+
|
|
sa.sa_handler = doalarm;
|
|
sa.sa_flags = 0;
|
|
sigemptyset(&sa.sa_mask);
|