Update.
* tst-mutex5.c (do_test): Add more timedlock tests.
This commit is contained in:
parent
b2f0546574
commit
1c82b97f96
@ -1 +1 @@
|
|||||||
NPTL 0.21 by Ulrich Drepper
|
NPTL 0.22 by Ulrich Drepper
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
2003-02-15 Ulrich Drepper <drepper@redhat.com>
|
2003-02-15 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* tst-mutex5.c (do_test): Add more timedlock tests.
|
||||||
|
|
||||||
* tst-mutex2.c: Tests of trylock and unlock with ERROR mutexes.
|
* tst-mutex2.c: Tests of trylock and unlock with ERROR mutexes.
|
||||||
* tst-mutex3.c (do_test): Add tests for trylock with RECURSIVE mutexes.
|
* tst-mutex3.c (do_test): Add tests for trylock with RECURSIVE mutexes.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2002 Free Software Foundation, Inc.
|
/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||||
|
|
||||||
@ -60,12 +60,12 @@ do_test (void)
|
|||||||
err = pthread_mutex_timedlock (&m, &ts);
|
err = pthread_mutex_timedlock (&m, &ts);
|
||||||
if (err == 0)
|
if (err == 0)
|
||||||
{
|
{
|
||||||
puts ("timed_lock succeeded");
|
puts ("timedlock succeeded");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else if (err != ETIMEDOUT)
|
else if (err != ETIMEDOUT)
|
||||||
{
|
{
|
||||||
printf ("timed_lock error != ETIMEDOUT: %d\n", err);
|
printf ("timedlock error != ETIMEDOUT: %d\n", err);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -98,12 +98,50 @@ do_test (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(void) gettimeofday (&tv, NULL);
|
||||||
|
TIMEVAL_TO_TIMESPEC (&tv, &ts);
|
||||||
|
|
||||||
|
ts.tv_sec += 2; /* Wait 2 seconds. */
|
||||||
|
/* The following makes the ts value invalid. */
|
||||||
|
ts.tv_nsec += 1000000000;
|
||||||
|
|
||||||
|
err = pthread_mutex_timedlock (&m, &ts);
|
||||||
|
if (err == 0)
|
||||||
|
{
|
||||||
|
puts ("2nd timedlock succeeded");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else if (err != EINVAL)
|
||||||
|
{
|
||||||
|
printf ("2nd timedlock error != EINVAL: %d\n", err);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (pthread_mutex_unlock (&m) != 0)
|
if (pthread_mutex_unlock (&m) != 0)
|
||||||
{
|
{
|
||||||
puts ("mutex_unlock failed");
|
puts ("mutex_unlock failed");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(void) gettimeofday (&tv, NULL);
|
||||||
|
TIMEVAL_TO_TIMESPEC (&tv, &ts);
|
||||||
|
|
||||||
|
ts.tv_sec += 2; /* Wait 2 seconds. */
|
||||||
|
if (pthread_mutex_timedlock (&m, &ts) != 0)
|
||||||
|
{
|
||||||
|
puts ("3rd timedlock failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
(void) gettimeofday (&tv2, NULL);
|
||||||
|
|
||||||
|
/* Check that timedlock didn't delay. We use a limit of 0.1 secs. */
|
||||||
|
timersub (&tv2, &tv, &tv2);
|
||||||
|
if (tv2.tv_sec > 0 || tv2.tv_usec > 100000)
|
||||||
|
{
|
||||||
|
puts ("3rd timedlock didn't return right away");
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
if (pthread_mutex_destroy (&m) != 0)
|
if (pthread_mutex_destroy (&m) != 0)
|
||||||
{
|
{
|
||||||
puts ("mutex_destroy failed");
|
puts ("mutex_destroy failed");
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-02-15 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* td_symbol_list.c: New symbol name for SYM_PTHREAD_NTHREADS.
|
||||||
|
|
||||||
2003-01-07 Jakub Jelinek <jakub@redhat.com>
|
2003-01-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* td_ta_event_getmsg.c: Include assert.h.
|
* td_ta_event_getmsg.c: Include assert.h.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Return list of symbols the library can request.
|
/* Return list of symbols the library can request.
|
||||||
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
|
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ static const char *symbol_list_arr[] =
|
|||||||
{
|
{
|
||||||
[SYM_PTHREAD_THREADS_EVENTS] = "__nptl_threads_events",
|
[SYM_PTHREAD_THREADS_EVENTS] = "__nptl_threads_events",
|
||||||
[SYM_PTHREAD_LAST_EVENT] = "__nptl_last_event",
|
[SYM_PTHREAD_LAST_EVENT] = "__nptl_last_event",
|
||||||
[SYM_PTHREAD_NTHREADS] = "nptl_nthreads",
|
[SYM_PTHREAD_NTHREADS] = "__nptl_nthreads",
|
||||||
[SYM_PTHREAD_STACK_USED] = "stack_used",
|
[SYM_PTHREAD_STACK_USED] = "stack_used",
|
||||||
[SYM_PTHREAD_STACK_USER] = "__stack_user",
|
[SYM_PTHREAD_STACK_USER] = "__stack_user",
|
||||||
[SYM_PTHREAD_KEYS] = "__pthread_keys",
|
[SYM_PTHREAD_KEYS] = "__pthread_keys",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user