[LTP] [PATCH 1/4] tst_atomic: make tst_atomic_inc take a signed integer
Cyril Hrubis
chrubis@suse.cz
Wed Apr 13 16:07:02 CEST 2016
Hi!
> This is a preparation for upcoming patches, which add atomic_add_return(),
> that takes signed integer.
What is the problem with unsigned integer?
> Signed-off-by: Jan Stancek <jstancek@redhat.com>
> ---
> doc/test-writing-guidelines.txt | 2 +-
> include/tst_atomic.h | 2 +-
> lib/newlib_tests/test08.c | 2 +-
> lib/tst_test.c | 8 ++++----
> 4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/doc/test-writing-guidelines.txt b/doc/test-writing-guidelines.txt
> index d0b14084c90b..c0ef33afd5bb 100644
> --- a/doc/test-writing-guidelines.txt
> +++ b/doc/test-writing-guidelines.txt
> @@ -780,7 +780,7 @@ the user supplied cleanup to the test library.
>
> static void cleanup(void)
> {
> - static unsigned int flag;
> + static int flag;
>
> if (tst_atomic_inc(&flag) != 1)
> pthread_exit(NULL);
> diff --git a/include/tst_atomic.h b/include/tst_atomic.h
> index 75c713d38d2a..40b2c581f19d 100644
> --- a/include/tst_atomic.h
> +++ b/include/tst_atomic.h
> @@ -18,7 +18,7 @@
> #ifndef TST_ATOMIC_H__
> #define TST_ATOMIC_H__
>
> -static inline unsigned int tst_atomic_inc(unsigned int *v)
> +static inline unsigned int tst_atomic_inc(int *v)
^
This should be removed as well, right?
> {
> return __sync_add_and_fetch(v, 1);
> }
> diff --git a/lib/newlib_tests/test08.c b/lib/newlib_tests/test08.c
> index 8fefc182650d..0a2023119a71 100644
> --- a/lib/newlib_tests/test08.c
> +++ b/lib/newlib_tests/test08.c
> @@ -35,7 +35,7 @@ static void setup(void)
>
> static void cleanup(void)
> {
> - static unsigned int flag;
> + static int flag;
>
> /* Avoid subsequent threads to enter the cleanup */
> if (tst_atomic_inc(&flag) != 1)
> diff --git a/lib/tst_test.c b/lib/tst_test.c
> index 37265fe50951..66c0bc67127f 100644
> --- a/lib/tst_test.c
> +++ b/lib/tst_test.c
> @@ -43,10 +43,10 @@ static float duration = -1;
> static pid_t main_pid;
>
> struct results {
> - unsigned int passed;
> - unsigned int skipped;
> - unsigned int failed;
> - unsigned int warnings;
> + int passed;
> + int skipped;
> + int failed;
> + int warnings;
> };
We print these values with %u in do_exit(), that should be updated as
well.
> static struct results *results;
> --
> 1.8.3.1
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list