get this right

This commit is contained in:
rsc 2004-06-11 18:57:32 +00:00
parent e750400529
commit d9e16d252a
2 changed files with 7 additions and 5 deletions

View file

@ -11,8 +11,9 @@
int int
p9create(char *path, int mode, ulong perm) p9create(char *path, int mode, ulong perm)
{ {
int fd, cexec, umode, rclose, lock; int fd, cexec, umode, rclose, lock, rdwr;
rdwr = mode&3;
lock = mode&OLOCK; lock = mode&OLOCK;
cexec = mode&OCEXEC; cexec = mode&OCEXEC;
rclose = mode&ORCLOSE; rclose = mode&ORCLOSE;
@ -48,7 +49,7 @@ p9create(char *path, int mode, ulong perm)
out: out:
if(fd >= 0){ if(fd >= 0){
if(lock){ if(lock){
if(flock(fd, (mode==OREAD) ? LOCK_SH : LOCK_EX) < 0){ if(flock(fd, (rdwr==OREAD) ? LOCK_SH : LOCK_EX) < 0){
close(fd); close(fd);
return -1; return -1;
} }

View file

@ -11,9 +11,10 @@ int
p9open(char *name, int mode) p9open(char *name, int mode)
{ {
int cexec, rclose; int cexec, rclose;
int fd, umode, lock; int fd, umode, lock, rdwr;
umode = mode&3; rdwr = mode&3;
umode = rdwr;
cexec = mode&OCEXEC; cexec = mode&OCEXEC;
rclose = mode&ORCLOSE; rclose = mode&ORCLOSE;
lock = mode&OLOCK; lock = mode&OLOCK;
@ -33,7 +34,7 @@ p9open(char *name, int mode)
fd = open(name, umode); fd = open(name, umode);
if(fd >= 0){ if(fd >= 0){
if(lock){ if(lock){
if(flock(fd, (mode==OREAD) ? LOCK_SH : LOCK_EX) < 0){ if(flock(fd, (rdwr==OREAD) ? LOCK_SH : LOCK_EX) < 0){
close(fd); close(fd);
return -1; return -1;
} }