summaryrefslogtreecommitdiff
path: root/rt/tst-shm.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-05-19 03:30:44 +0000
committerUlrich Drepper <drepper@redhat.com>2007-05-19 03:30:44 +0000
commiteb4b098a99573c186e1c0beaec29aeab033e7769 (patch)
treee36c78023705c4efa9f038a69282c4d5abb10765 /rt/tst-shm.c
parent69e5cbf596f07bbea7f23ed92a29ce573508da2e (diff)
downloadglibc-eb4b098a99573c186e1c0beaec29aeab033e7769.tar.gz
* rt/tst-shm.c: Use fstat64 instead of fstat.
Diffstat (limited to 'rt/tst-shm.c')
-rw-r--r--rt/tst-shm.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/rt/tst-shm.c b/rt/tst-shm.c
index 01bf89fa74..5838b0ee1d 100644
--- a/rt/tst-shm.c
+++ b/rt/tst-shm.c
@@ -60,7 +60,7 @@ static void
worker (int write_now)
{
struct timespec ts;
- struct stat st;
+ struct stat64 st;
int i;
int fd = do_open ();
char *mem;
@@ -68,8 +68,10 @@ worker (int write_now)
if (fd == -1)
exit (fd);
- if (fstat (fd, &st) == -1 || st.st_size != 4000)
+ if (fstat64 (fd, &st) == -1)
error (EXIT_FAILURE, 0, "stat failed");
+ if (st.st_size != 4000)
+ error (EXIT_FAILURE, 0, "size incorrect");
mem = mmap (NULL, 4000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (mem == NULL)
@@ -131,7 +133,7 @@ do_test (void)
pid_t pid2;
int status1;
int status2;
- struct stat st;
+ struct stat64 st;
/* Create the shared memory object. */
fd = shm_open ("/shm-test", O_RDWR | O_CREAT | O_TRUNC | O_EXCL, 0600);
@@ -155,11 +157,16 @@ do_test (void)
return 0;
}
- if (fstat (fd, &st) == -1 || st.st_size != 4000)
+ if (fstat64 (fd, &st) == -1)
{
shm_unlink ("/shm-test");
error (EXIT_FAILURE, 0, "initial stat failed");
}
+ if (st.st_size != 4000)
+ {
+ shm_unlink ("/shm-test");
+ error (EXIT_FAILURE, 0, "initial size not correct");
+ }
/* Spawn to processes which will do the work. */
pid1 = fork ();