summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/read.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-05-14 15:21:30 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-05-15 10:01:42 +0200
commit53da07e436df21f078de665d90442ee5c7166ab7 (patch)
tree0249d3ca4e181c677f243907a754dd1e8518bb36 /cpukit/libcsupport/src/read.c
parentFilesystem: Add shared device IO support (diff)
downloadrtems-53da07e436df21f078de665d90442ee5c7166ab7.tar.bz2
Filesystem: PR1255: Move offset update to handlers
It is now the responsibility of the read() and write() handler to update the offset field of the IO descriptor (rtems_libio_t). This change makes it possible to protect the IO descriptor from concurrent access by per file locks.
Diffstat (limited to 'cpukit/libcsupport/src/read.c')
-rw-r--r--cpukit/libcsupport/src/read.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/cpukit/libcsupport/src/read.c b/cpukit/libcsupport/src/read.c
index 759133b0cb..ee10166dc8 100644
--- a/cpukit/libcsupport/src/read.c
+++ b/cpukit/libcsupport/src/read.c
@@ -22,7 +22,6 @@ ssize_t read(
size_t count
)
{
- ssize_t rc;
rtems_libio_t *iop;
rtems_libio_check_fd( fd );
@@ -35,12 +34,7 @@ ssize_t read(
/*
* Now process the read().
*/
- rc = (*iop->pathinfo.handlers->read_h)( iop, buffer, count );
-
- if ( rc > 0 )
- iop->offset += rc;
-
- return rc;
+ return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );
}
/*