aboutsummaryrefslogtreecommitdiff
path: root/apps/examples
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-08-28 14:40:12 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2012-08-28 14:40:12 +0000
commitbbe3db55f26c2aef2f2ba27bf726bee1ec039b24 (patch)
tree649fb785890c05db65ac6d00418aad80205e729e /apps/examples
parent064743fe725c55b992d12f00c852dcda395c1808 (diff)
downloadpx4-firmware-bbe3db55f26c2aef2f2ba27bf726bee1ec039b24.tar.gz
px4-firmware-bbe3db55f26c2aef2f2ba27bf726bee1ec039b24.tar.bz2
px4-firmware-bbe3db55f26c2aef2f2ba27bf726bee1ec039b24.zip
Add some protection to the priority inheritance logic when sem_post() is called from an interrupt handler
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@5060 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'apps/examples')
-rw-r--r--apps/examples/ostest/prioinherit.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/apps/examples/ostest/prioinherit.c b/apps/examples/ostest/prioinherit.c
index 87849abcf..eea5a818f 100644
--- a/apps/examples/ostest/prioinherit.c
+++ b/apps/examples/ostest/prioinherit.c
@@ -59,20 +59,28 @@
# define CONFIG_SEM_PREALLOCHOLDERS 0
#endif
+/* If resources were configured for lots of holders, then run 3 low priority
+ * threads. Otherwise, just one.
+ */
+
#if CONFIG_SEM_PREALLOCHOLDERS > 3
# define NLOWPRI_THREADS 3
#else
-# define NLOWPRI_THREADS (CONFIG_SEM_PREALLOCHOLDERS+1)
+# define NLOWPRI_THREADS 1
#endif
#ifndef CONFIG_SEM_NNESTPRIO
# define CONFIG_SEM_NNESTPRIO 0
#endif
+/* Where resources configured for lots of waiters? If so then run 3 high
+ * priority threads. Otherwise, just one.
+ */
+
#if CONFIG_SEM_NNESTPRIO > 3
# define NHIGHPRI_THREADS 3
#else
-# define NHIGHPRI_THREADS (CONFIG_SEM_NNESTPRIO+1)
+# define NHIGHPRI_THREADS 1
#endif
/****************************************************************************