summaryrefslogtreecommitdiff
path: root/nuttx/sched/os_internal.h
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-03-14 18:58:21 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-03-14 18:58:21 +0000
commit78cbcfd2a16c0cf3763173ce0a14d656bede0135 (patch)
tree5fd6d76721ba77adb12c7fc265befb5cf264329f /nuttx/sched/os_internal.h
parent9daf318dc8fbefa6d41c739fa53baa155b31887f (diff)
downloadpx4-nuttx-78cbcfd2a16c0cf3763173ce0a14d656bede0135.tar.gz
px4-nuttx-78cbcfd2a16c0cf3763173ce0a14d656bede0135.tar.bz2
px4-nuttx-78cbcfd2a16c0cf3763173ce0a14d656bede0135.zip
Add 8052 IRQ test; Fix places where IDLE task could try to wait on semaphoresnuttx-1.1
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@61 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/sched/os_internal.h')
-rw-r--r--nuttx/sched/os_internal.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/nuttx/sched/os_internal.h b/nuttx/sched/os_internal.h
index 0fa7172b5..85dda8c96 100644
--- a/nuttx/sched/os_internal.h
+++ b/nuttx/sched/os_internal.h
@@ -134,8 +134,8 @@ typedef struct pidhash_s pidhash_t;
struct tasklist_s
{
- DSEG dq_queue_t *list; /* Pointer to the task list */
- boolean prioritized; /* TRUE if the list is prioritized */
+ DSEG volatile dq_queue_t *list; /* Pointer to the task list */
+ boolean prioritized; /* TRUE if the list is prioritized */
};
typedef struct tasklist_s tasklist_t;
@@ -159,7 +159,7 @@ typedef struct tasklist_s tasklist_t;
* list is always the idle task.
*/
-extern dq_queue_t g_readytorun;
+extern volatile dq_queue_t g_readytorun;
/* This is the list of all tasks that are ready-to-run, but
* cannot be placed in the g_readytorun list because: (1) They
@@ -168,16 +168,16 @@ extern dq_queue_t g_readytorun;
* disabled pre-emption.
*/
-extern dq_queue_t g_pendingtasks;
+extern volatile dq_queue_t g_pendingtasks;
/* This is the list of all tasks that are blocked waiting for a semaphore */
-extern dq_queue_t g_waitingforsemaphore;
+extern volatile dq_queue_t g_waitingforsemaphore;
/* This is the list of all tasks that are blocked waiting for a signal */
#ifndef CONFIG_DISABLE_SIGNALS
-extern dq_queue_t g_waitingforsignal;
+extern volatile dq_queue_t g_waitingforsignal;
#endif
/* This is the list of all tasks that are blocked waiting for a message
@@ -185,7 +185,7 @@ extern dq_queue_t g_waitingforsignal;
*/
#ifndef CONFIG_DISABLE_MQUEUE
-extern dq_queue_t g_waitingformqnotempty;
+extern volatile dq_queue_t g_waitingformqnotempty;
#endif
/* This is the list of all tasks that are blocked waiting for a message
@@ -193,14 +193,14 @@ extern dq_queue_t g_waitingformqnotempty;
*/
#ifndef CONFIG_DISABLE_MQUEUE
-extern dq_queue_t g_waitingformqnotfull;
+extern volatile dq_queue_t g_waitingformqnotfull;
#endif
/* This the list of all tasks that have been initialized, but not yet
* activated. NOTE: This is the only list that is not prioritized.
*/
-extern dq_queue_t g_inactivetasks;
+extern volatile dq_queue_t g_inactivetasks;
/* This is the list of dayed memory deallocations that need to be handled
* within the IDLE loop. These deallocations get queued by sched_free()
@@ -208,11 +208,11 @@ extern dq_queue_t g_inactivetasks;
* handler.
*/
-extern sq_queue_t g_delayeddeallocations;
+extern volatile sq_queue_t g_delayeddeallocations;
/* This is the value of the last process ID assigned to a task */
-extern pid_t g_lastpid;
+extern volatile pid_t g_lastpid;
/* The following hash table is used for two things:
*