diff options
| author | rsc <devnull@localhost> | 2004-06-11 18:57:32 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2004-06-11 18:57:32 +0000 |
| commit | d9e16d252a4f84a6b30a7837ed6524e2dffec5ec (patch) | |
| tree | 7ec4f669c15506da90df991c4e4822243eb9576d /src/lib9/create.c | |
| parent | e750400529eb4e655e206cbfba42b156a03c29c3 (diff) | |
| download | plan9port-d9e16d252a4f84a6b30a7837ed6524e2dffec5ec.tar.gz plan9port-d9e16d252a4f84a6b30a7837ed6524e2dffec5ec.zip | |
get this right
Diffstat (limited to 'src/lib9/create.c')
| -rw-r--r-- | src/lib9/create.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib9/create.c b/src/lib9/create.c index a9e796ad..af621099 100644 --- a/src/lib9/create.c +++ b/src/lib9/create.c @@ -11,8 +11,9 @@ int 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; cexec = mode&OCEXEC; rclose = mode&ORCLOSE; @@ -48,7 +49,7 @@ p9create(char *path, int mode, ulong perm) out: if(fd >= 0){ if(lock){ - if(flock(fd, (mode==OREAD) ? LOCK_SH : LOCK_EX) < 0){ + if(flock(fd, (rdwr==OREAD) ? LOCK_SH : LOCK_EX) < 0){ close(fd); return -1; } |
