Skip to content

Commit

Permalink
nptl: Add POSIX-proposed _clock functions to hppa pthread.h
Browse files Browse the repository at this point in the history
The pthread _clock functions that were recently added to nptl need to be
declared in hppa's pthread.h too. After this change, the function
declaration part of sysdeps/nptl/pthread.h and
sysdeps/unix/sysv/linux/hppa/pthread.h are identical.

	* sysdeps/unix/sysv/linux/hppa/pthread.h: Add declarations of
	functions recently added to sysdeps/nptl/pthread.h:
	pthread_mutex_clocklock, pthread_rwlock_clockrdlock,
	pthread_rwlock_clockwrlock and pthread_cond_clockwait.

Reviewed-by: Adhemerval Zanella <[email protected]>
  • Loading branch information
zatrazz committed Jul 18, 2019
1 parent 4a8f6d3 commit 2ab9ad5
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
2019-07-18 Mike Crowe <[email protected]>

* sysdeps/unix/sysv/linux/hppa/pthread.h: Add declarations of
functions recently added to sysdeps/nptl/pthread.h:
pthread_mutex_clocklock, pthread_rwlock_clockrdlock,
pthread_rwlock_clockwrlock and pthread_cond_clockwait.

* nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and
pthread_cond_clockwait forwarding functions. There are no internal
users, so it is unnecessary to expose these functions in libc.so.
Expand Down
36 changes: 36 additions & 0 deletions sysdeps/unix/sysv/linux/hppa/pthread.h
Original file line number Diff line number Diff line change
Expand Up @@ -746,6 +746,13 @@ extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
__abstime) __THROWNL __nonnull ((1, 2));
#endif

#ifdef __USE_GNU
extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
clockid_t __clockid,
const struct timespec *__restrict
__abstime) __THROWNL __nonnull ((1, 3));
#endif

/* Unlock a mutex. */
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
__THROWNL __nonnull ((1));
Expand Down Expand Up @@ -885,6 +892,13 @@ extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
__abstime) __THROWNL __nonnull ((1, 2));
# endif

# ifdef __USE_GNU
extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
clockid_t __clockid,
const struct timespec *__restrict
__abstime) __THROWNL __nonnull ((1, 3));
# endif

/* Acquire write lock for RWLOCK. */
extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
__THROWNL __nonnull ((1));
Expand All @@ -900,6 +914,13 @@ extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
__abstime) __THROWNL __nonnull ((1, 2));
# endif

# ifdef __USE_GNU
extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
clockid_t __clockid,
const struct timespec *__restrict
__abstime) __THROWNL __nonnull ((1, 3));
# endif

/* Unlock RWLOCK. */
extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
__THROWNL __nonnull ((1));
Expand Down Expand Up @@ -979,6 +1000,21 @@ extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
const struct timespec *__restrict __abstime)
__nonnull ((1, 2, 3));

# ifdef __USE_GNU
/* Wait for condition variable COND to be signaled or broadcast until
ABSTIME measured by the specified clock. MUTEX is assumed to be
locked before. CLOCK is the clock to use. ABSTIME is an absolute
time specification against CLOCK's epoch.
This function is a cancellation point and therefore not marked with
__THROW. */
extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex,
__clockid_t __clock_id,
const struct timespec *__restrict __abstime)
__nonnull ((1, 2, 4));
# endif

/* Functions for handling condition variable attributes. */

/* Initialize condition variable attribute ATTR. */
Expand Down

0 comments on commit 2ab9ad5

Please sign in to comment.