summaryrefslogtreecommitdiff
path: root/src/lib9/create.c
diff options
context:
space:
mode:
authorHector Chu <hectorchu@gmail.com>2009-11-30 11:53:11 -0800
committerHector Chu <hectorchu@gmail.com>2009-11-30 11:53:11 -0800
commit24dff2fa7785801a25f1fcac53313e83ae61201b (patch)
tree7ac62e529fdf4675e7449e7171ed7cc0a573e517 /src/lib9/create.c
parent0106c26c2d751926fc223eee01e6fac8e2b0b1d4 (diff)
downloadgo-24dff2fa7785801a25f1fcac53313e83ae61201b.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.c21
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);
}