diff options
author | mtm <mtm@FreeBSD.org> | 2004-02-18 15:16:31 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2004-02-18 15:16:31 +0000 |
commit | 5af0285e8fc54915a55a6c5822e52d1828103480 (patch) | |
tree | 45a642162cc3c797b16d0e9b02efcb20b2039e08 /lib/libthr/thread/thr_private.h | |
parent | f27860b0cf595e9f0624e36bc4cd693504e907f0 (diff) | |
download | FreeBSD-src-5af0285e8fc54915a55a6c5822e52d1828103480.zip FreeBSD-src-5af0285e8fc54915a55a6c5822e52d1828103480.tar.gz |
o Refactor and, among other things, get rid of insane nesting levels.
o Fix mutex priority protocols. Keep separate counts of priority
inheritance and protection mutexes to make things easier.
This will not have much affect since this is only the
userland side, and the rest involves kernel scheduling.
Diffstat (limited to 'lib/libthr/thread/thr_private.h')
-rw-r--r-- | lib/libthr/thread/thr_private.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h index bbf5abd..cad1d04 100644 --- a/lib/libthr/thread/thr_private.h +++ b/lib/libthr/thread/thr_private.h @@ -569,7 +569,8 @@ struct pthread { char active_priority; /* Number of priority ceiling or protection mutexes owned. */ - int priority_mutex_count; + int prio_inherit_count; + int prio_protect_count; /* * Queue of currently owned mutexes. @@ -784,10 +785,13 @@ void _thread_critical_enter(pthread_t); void _thread_critical_exit(pthread_t); void _thread_sigblock(); void _thread_sigunblock(); +void adjust_prio_inheritance(struct pthread *); +void adjust_prio_protection(struct pthread *); void init_td_common(struct pthread *, struct pthread_attr *, int); void init_tdlist(struct pthread *, int); void proc_sigact_copyin(int, const struct sigaction *); void proc_sigact_copyout(int, struct sigaction *); +void readjust_priorities(struct pthread *, struct pthread_mutex *); struct sigaction *proc_sigact_sigaction(int); /* #include <sys/aio.h> */ |