diff options
author | Hector Chu <hectorchu@gmail.com> | 2009-11-30 11:53:11 -0800 |
---|---|---|
committer | Hector Chu <hectorchu@gmail.com> | 2009-11-30 11:53:11 -0800 |
commit | 8eabe8208c32050802c06abdc2baf49febf6fb7a (patch) | |
tree | 7ac62e529fdf4675e7449e7171ed7cc0a573e517 /src/lib9/create.c | |
parent | 2c880cf84880cfac9c667f48087c7c30d19b76ba (diff) | |
download | golang-8eabe8208c32050802c06abdc2baf49febf6fb7a.tar.gz |
Ports of lib9, libbio and libmach to Windows.
R=rsc
http://codereview.appspot.com/157159
Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/lib9/create.c')
-rw-r--r-- | src/lib9/create.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/src/lib9/create.c b/src/lib9/create.c index 8e5cbc360..59845ba91 100644 --- a/src/lib9/create.c +++ b/src/lib9/create.c @@ -37,14 +37,11 @@ THE SOFTWARE. int p9create(char *path, int mode, ulong perm) { - int fd, cexec, umode, rclose, lock, rdwr; - struct flock fl; + int fd, umode, rclose, rdwr; rdwr = mode&3; - lock = mode&OLOCK; - cexec = mode&OCEXEC; rclose = mode&ORCLOSE; - mode &= ~(ORCLOSE|OCEXEC|OLOCK); + mode &= ~ORCLOSE; /* XXX should get mode mask right? */ fd = -1; @@ -75,23 +72,11 @@ p9create(char *path, int mode, ulong perm) werrstr("unsupported mode in create"); goto out; } + umode |= O_BINARY; fd = open(path, umode, perm); } out: if(fd >= 0){ - if(lock){ - fl.l_type = (rdwr==OREAD) ? F_RDLCK : F_WRLCK; - fl.l_whence = SEEK_SET; - fl.l_start = 0; - fl.l_len = 0; - if(fcntl(fd, F_SETLK, &fl) < 0){ - close(fd); - werrstr("lock: %r"); - return -1; - } - } - if(cexec) - fcntl(fd, F_SETFL, FD_CLOEXEC); if(rclose) remove(path); } |