Index: lib/libc/include/reentrant.h =================================================================== RCS file: /cvsroot/src/lib/libc/include/reentrant.h,v retrieving revision 1.18 diff -u -r1.18 reentrant.h --- lib/libc/include/reentrant.h 20 Jan 2015 18:31:25 -0000 1.18 +++ lib/libc/include/reentrant.h 31 Oct 2016 00:45:02 -0000 @@ -129,6 +129,9 @@ __BEGIN_DECLS int __libc_mutex_init(mutex_t *, const mutexattr_t *); int __libc_mutex_lock(mutex_t *); +int __libc_mutex_timedlock(mutex_t *); +int __libc_mutex_getprioceiling(mutex_t *, int *); +int __libc_mutex_setprioceiling(mutex_t *, int, int *); int __libc_mutex_trylock(mutex_t *); int __libc_mutex_unlock(mutex_t *); int __libc_mutex_destroy(mutex_t *); @@ -140,6 +143,11 @@ #define mutex_init(m, a) __libc_mutex_init((m), (a)) #define mutex_lock(m) __libc_mutex_lock((m)) +#define mutex_timedlock(m) __libc_mutex_lock((m), (ts)) +#define mutex_getprioceiling(m, pri) \ + __libc_mutex_getprioceiling((m), (pri)) +#define mutex_setprioceiling(m, pri, opri) \ + __libc_mutex_setprioceiling((m), (pri), (opri)) #define mutex_trylock(m) __libc_mutex_trylock((m)) #define mutex_unlock(m) __libc_mutex_unlock((m)) #define mutex_destroy(m) __libc_mutex_destroy((m)) @@ -229,6 +237,9 @@ int __libc_mutex_init_stub(mutex_t *, const mutexattr_t *); int __libc_mutex_lock_stub(mutex_t *); +int __libc_mutex_timedlock_stub(mutex_t *, const struct timespec *); +int __libc_mutex_getprioceiling_stub(mutex_t *, int *); +int __libc_mutex_setprioceiling_stub(mutex_t *, int, int *); int __libc_mutex_trylock_stub(mutex_t *); int __libc_mutex_unlock_stub(mutex_t *); int __libc_mutex_destroy_stub(mutex_t *); @@ -283,6 +294,9 @@ #endif #define mutex_init(m, a) __empty #define mutex_lock(m) __empty +#define mutex_timedlock(m, ts) __empty +#define mutex_getprioceiling(m, pri) __empty +#define mutex_setprioceiling(m, pri, opri) __empty #define mutex_trylock(m) __empty #define mutex_unlock(m) __empty #define mutex_destroy(m) __empty Index: lib/libc/thread-stub/thread-stub.c =================================================================== RCS file: /cvsroot/src/lib/libc/thread-stub/thread-stub.c,v retrieving revision 1.27 diff -u -r1.27 thread-stub.c --- lib/libc/thread-stub/thread-stub.c 28 May 2013 17:29:41 -0000 1.27 +++ lib/libc/thread-stub/thread-stub.c 31 Oct 2016 00:45:03 -0000 @@ -96,11 +96,17 @@ __weak_alias(__libc_mutex_init,__libc_mutex_init_stub) __weak_alias(__libc_mutex_lock,__libc_mutex_catchall_stub) +__weak_alias(__libc_mutex_timedlock,__libc_mutex_timedlock_stub) +__weak_alias(__libc_mutex_getprioceiling,__libc_mutex_getprioceiling_stub) +__weak_alias(__libc_mutex_setprioceiling,__libc_mutex_setprioceiling_stub) __weak_alias(__libc_mutex_trylock,__libc_mutex_catchall_stub) __weak_alias(__libc_mutex_unlock,__libc_mutex_catchall_stub) __weak_alias(__libc_mutex_destroy,__libc_mutex_catchall_stub) __strong_alias(__libc_mutex_lock_stub,__libc_mutex_catchall_stub) +__strong_alias(__libc_mutex_timedlock_stub,__libc_mutex_timedlock_stub) +__strong_alias(__libc_mutex_getprioceiling_stub,__libc_mutex_getprioceiling_stub) +__strong_alias(__libc_mutex_setprioceiling_stub,__libc_mutex_setprioceiling_stub) __strong_alias(__libc_mutex_trylock_stub,__libc_mutex_catchall_stub) __strong_alias(__libc_mutex_unlock_stub,__libc_mutex_catchall_stub) __strong_alias(__libc_mutex_destroy_stub,__libc_mutex_catchall_stub) @@ -139,6 +145,43 @@ } int +__libc_mutex_timedlock_stub(mutex_t *m, const struct timespec *ts) +{ + /* LINTED deliberate lack of effect */ + (void)m; + (void)ts; + + CHECK_NOT_THREADED(); + + return (0); +} + +int +__libc_mutex_getprioceiling_stub(mutex_t *m, int *pri) +{ + /* LINTED deliberate lack of effect */ + (void)m; + (void)pri; + + CHECK_NOT_THREADED(); + + return (0); +} + +int +__libc_mutex_setprioceiling_stub(mutex_t *m, int pri, int *opri) +{ + /* LINTED deliberate lack of effect */ + (void)m; + (void)pri; + (void)opri; + + CHECK_NOT_THREADED(); + + return (0); +} + +int __libc_mutexattr_settype_stub(mutexattr_t *ma, int type) { /* LINTED deliberate lack of effect */ Index: lib/libpthread/pthread.h =================================================================== RCS file: /cvsroot/src/lib/libpthread/pthread.h,v retrieving revision 1.38 diff -u -r1.38 pthread.h --- lib/libpthread/pthread.h 30 Oct 2016 23:26:33 -0000 1.38 +++ lib/libpthread/pthread.h 31 Oct 2016 00:45:03 -0000 @@ -330,6 +330,9 @@ __BEGIN_DECLS int __libc_mutex_init(pthread_mutex_t * __restrict, const pthread_mutexattr_t * __restrict); int __libc_mutex_lock(pthread_mutex_t *); +int __libc_mutex_timedlock(pthread_mutex_t *__restrict, const struct timespec *__restrict); +int __libc_mutex_getprioceiling(pthread_mutex_t *__restrict, int * __restrict); +int __libc_mutex_setprioceiling(pthread_mutex_t *__restrict, int, int * __restrict); int __libc_mutex_trylock(pthread_mutex_t *); int __libc_mutex_unlock(pthread_mutex_t *); int __libc_mutex_destroy(pthread_mutex_t *);