aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Chien Peter Lin <peterlin@andestech.com>2022-09-30 20:19:51 +0800
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-10-03 11:19:36 -0300
commit365b3af67ecaf176b2e2678afe903bebce598fd7 (patch)
tree01bd8fd620501e0f915e214875cdeea0c82c4a8a
parent3bea50ccbc925d4fc5f85ec402b6154cbe770b71 (diff)
downloadglibc-365b3af67ecaf176b2e2678afe903bebce598fd7.zip
glibc-365b3af67ecaf176b2e2678afe903bebce598fd7.tar.gz
glibc-365b3af67ecaf176b2e2678afe903bebce598fd7.tar.bz2
nptl: Convert tst-setuid2 to test-driver
Use <support/test-driver.c> and replace pthread calls to its xpthread equivalents. Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r--nptl/tst-setuid2.c52
1 files changed, 15 insertions, 37 deletions
diff --git a/nptl/tst-setuid2.c b/nptl/tst-setuid2.c
index aff3b1a..9b77999 100644
--- a/nptl/tst-setuid2.c
+++ b/nptl/tst-setuid2.c
@@ -20,6 +20,7 @@
#include <signal.h>
#include <stdbool.h>
#include <stdio.h>
+#include <support/xthread.h>
#include <sys/syscall.h>
#include <unistd.h>
@@ -36,30 +37,21 @@ static pthread_cond_t cond_recv;
static void *
thread_func (void *ctx __attribute__ ((unused)))
{
- int ret = pthread_mutex_lock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_lock (thread): %d", ret);
-
+ xpthread_mutex_lock (&mutex);
while (true)
{
if (func_sent != NULL)
{
void (*func) (void) = func_sent;
- ret = pthread_mutex_unlock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_unlock (thread): %d", ret);
+ xpthread_mutex_unlock (&mutex);
+
func ();
- ret = pthread_mutex_lock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_lock (thread): %d", ret);
+
+ xpthread_mutex_lock (&mutex);
func_sent = NULL;
- ret = pthread_cond_signal (&cond_recv);
- if (ret != 0)
- FAIL ("pthread_cond_signal (recv): %d", ret);
+ xpthread_cond_signal (&cond_recv);
}
- ret = pthread_cond_wait (&cond_send, &mutex);
- if (ret != 0)
- FAIL ("pthread_cond_wait (send): %d", ret);
+ xpthread_cond_wait (&cond_send, &mutex);
}
return NULL;
}
@@ -67,31 +59,18 @@ thread_func (void *ctx __attribute__ ((unused)))
static void
run_on_thread (void (*func) (void))
{
- int ret = pthread_mutex_lock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_lock (%s): %d", __func__, ret);
+ xpthread_mutex_lock (&mutex);
func_sent = func;
- ret = pthread_mutex_unlock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_unlock (%s): %d", __func__, ret);
+ xpthread_mutex_unlock (&mutex);
- ret = pthread_cond_signal (&cond_send);
- if (ret != 0)
- FAIL ("pthread_mutex_lock (%s): %d", __func__, ret);
-
- ret = pthread_mutex_lock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_lock (%s): %d", __func__, ret);
+ xpthread_cond_signal (&cond_send);
+ xpthread_mutex_lock (&mutex);
while (func_sent != NULL)
{
- ret = pthread_cond_wait (&cond_recv, &mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_wait (%s): %d", __func__, ret);
+ xpthread_cond_wait (&cond_recv, &mutex);
}
- ret = pthread_mutex_unlock (&mutex);
- if (ret != 0)
- FAIL ("pthread_mutex_unlock (%s): %d", __func__, ret);
+ xpthread_mutex_unlock (&mutex);
}
static void
@@ -141,5 +120,4 @@ do_test (void)
return 0;
}
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
+#include <support/test-driver.c>