2000-05-28  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/arm/atomicity.h (compare_and_swap): Return result.
This commit is contained in:
Ulrich Drepper 2000-05-29 01:00:03 +00:00
parent 84838b8ff3
commit 31eb0a91a5
3 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2000-05-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/arm/atomicity.h (compare_and_swap): Return result.
2000-05-04 Andreas Jaeger <aj@suse.de>
* string/string.h: Remove __strdup prototype, it's not needed in

View File

@ -38,6 +38,7 @@ main (void)
char *name;
int fd;
pid_t pid;
pid_t ppid;
off_t off;
int status;
@ -69,10 +70,24 @@ main (void)
if (off == (off_t) -1 || off != strlen (testdata))
error (EXIT_FAILURE, errno, "wrong file position");
/* Get the parent PID. */
ppid = getpid ();
/* Now fork of the process. */
pid = fork ();
if (pid == 0)
{
/* One little test first: the PID must have changed. */
if (getpid () == ppid)
error (EXIT_FAILURE, 0, "child and parent have same PID");
/* Test the `getppid' function. */
pid = getppid ();
if (pid == (pid_t) -1 ? errno != ENOSYS : pid != ppid)
error (EXIT_FAILURE, 0,
"getppid returned wrong PID (%ld, should be %ld)",
(long int) pid, (long int) ppid);
/* This is the child. First get the position of the descriptor. */
off = lseek (fd, 0, SEEK_CUR);
if (off == (off_t) -1 || off != strlen (testdata))

View File

@ -81,6 +81,7 @@ compare_and_swap (volatile long int *p, long int oldval, long int newval)
: "=&r" (result), "=&r" (tmp)
: "r" (p), "r" (newval), "r" (oldval)
: "cc", "memory");
return result;
}
#endif /* atomicity.h */