summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/posix/include/rtems/posix/shmimpl.h9
-rw-r--r--cpukit/posix/src/shmopen.c1
2 files changed, 10 insertions, 0 deletions
diff --git a/cpukit/posix/include/rtems/posix/shmimpl.h b/cpukit/posix/include/rtems/posix/shmimpl.h
index 207f50fc95..ff3299ebe0 100644
--- a/cpukit/posix/include/rtems/posix/shmimpl.h
+++ b/cpukit/posix/include/rtems/posix/shmimpl.h
@@ -84,6 +84,15 @@ RTEMS_INLINE_ROUTINE POSIX_Shm_Control *_POSIX_Shm_Get_by_name(
);
}
+RTEMS_INLINE_ROUTINE void _POSIX_Shm_Update_atime(
+ POSIX_Shm_Control *shm
+)
+{
+ struct timeval now;
+ gettimeofday( &now, 0 );
+ shm->atime = now.tv_sec;
+}
+
RTEMS_INLINE_ROUTINE void _POSIX_Shm_Update_mtime_ctime(
POSIX_Shm_Control *shm
)
diff --git a/cpukit/posix/src/shmopen.c b/cpukit/posix/src/shmopen.c
index 3f3789f7d8..4c86535c6d 100644
--- a/cpukit/posix/src/shmopen.c
+++ b/cpukit/posix/src/shmopen.c
@@ -66,6 +66,7 @@ static ssize_t shm_read( rtems_libio_t *iop, void *buffer, size_t count )
buffer,
count
);
+ _POSIX_Shm_Update_atime( shm );
_POSIX_Shm_Release( shm, &queue_context );
return bytes_read;