summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_private.h
diff options
context:
space:
mode:
authormtm <mtm@FreeBSD.org>2004-02-18 15:16:31 +0000
committermtm <mtm@FreeBSD.org>2004-02-18 15:16:31 +0000
commit5af0285e8fc54915a55a6c5822e52d1828103480 (patch)
tree45a642162cc3c797b16d0e9b02efcb20b2039e08 /lib/libthr/thread/thr_private.h
parentf27860b0cf595e9f0624e36bc4cd693504e907f0 (diff)
downloadFreeBSD-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.h6
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> */
OpenPOWER on IntegriCloud