diff options
author | Marcus Brinkmann <marcus@gnu.org> | 2000-12-30 18:22:29 +0000 |
---|---|---|
committer | Marcus Brinkmann <marcus@gnu.org> | 2000-12-30 18:22:29 +0000 |
commit | fe8055abcf2253dabdeb9b34d27ec763b8a6c1d2 (patch) | |
tree | 267190fe91b8eabf556e4e7ba14f5ab6a902c1f7 /libnetfs/io-write.c | |
parent | d2a271dbdbdd7ec93b615cd87c8922ccee3ce579 (diff) |
2000-12-30 Marcus Brinkmann <marcus@gnu.org>
* netfs.h (struct node): Adjust comment fixes by last change
to be more in line with similar comments elsewhere.
* make-node.c (netfs_make_node): Return 0 if malloc does.
Reported by Neal H Walfield <neal@cs.uml.edu>.
2000-12-29 Neal H Walfield <neal@cs.uml.edu>
* dir-lookup.c (netfs_S_dir_lookup): Do not bother zeroing np, it
happens later anyway. Replace bcopy with memcpy.
* file-get-translator.c (netfs_S_file_get_translator): Replace
bcopy with memcpy.
* io-seek.c (netfs_S_io_seek): Only get the lock if we need it.
* io-stat.c (netfs_S_io_stat): Replace bcopy with memcpy.
* io-write.c (netfs_S_io_write): Wait until the lock is needed.
* netfs.h: Complete documentation revision. The locking protocol
is now very explicit.
* nput.c (netfs_nput): Added comment.
* nrele.c (netfs_nrele): Likewise.
* set-get-trans.c: Likewise.
Diffstat (limited to 'libnetfs/io-write.c')
-rw-r--r-- | libnetfs/io-write.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/libnetfs/io-write.c b/libnetfs/io-write.c index 26c3c297..c4423dab 100644 --- a/libnetfs/io-write.c +++ b/libnetfs/io-write.c @@ -1,5 +1,5 @@ /* - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc. Written by Michael I. Bushnell, p/BSG. This file is part of the GNU Hurd. @@ -36,17 +36,14 @@ netfs_S_io_write (struct protid *user, if (!user) return EOPNOTSUPP; - np = user->po->np; - - mutex_lock (&np->lock); if ((user->po->openstat & O_WRITE) == 0) - { - mutex_unlock (&np->lock); - return EBADF; - } + return EBADF; *amount = datalen; + np = user->po->np; + mutex_lock (&np->lock); + if (off == -1) { if (user->po->openstat & O_APPEND) |