Fix several compiler errors that occur when CONFIG_SCHED_ONEXIT is enabled; on_exit is now used in NxWM::NxConsole to close the window with the NSH session exits

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4738 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo
2012-05-15 00:45:14 +00:00
parent 383e7a0c97
commit 519ab1856f
9 changed files with 125 additions and 51 deletions
+6 -2
View File
@@ -2760,10 +2760,14 @@
window to revert to the previous window. Not good behavior.
* sched/sched_mergepending.c: Add task switching instrumentation. There is a case
here where instrumentation was missing. Contributed by Petri Tanskanen.
CONFIG_STMPE11_THRESHX, CONFIG_STMPE11_THRESHX, and drivers/stmpe11_tsc.c: Add some
* CONFIG_STMPE11_THRESHX, CONFIG_STMPE11_THRESHX, and drivers/stmpe11_tsc.c: Add some
threasholding controls to all slow down processing of touchscreen samples.
This is a problem with NX in multi-user mode: touchscreen data gets sent
via a message and when the message queue gets full the sender blocks and
touch events are lost. Basic data overrun. The badly effects touchscreen
human factors.
* include/sched.h: Fix a typo (missing semicolon) in prototype of on_exit();
* sched/on_exit.c and include/nuttx/sched.h: Fix some old typos that caused
compilation errors when CONFIG_SCHED_ONEXIT is defined.
* configs/stm3240g-eval/nxwm/defconfig: The default NxWM not uses the STMPE11
touchscreen.
+7 -5
View File
@@ -139,7 +139,7 @@ CONFIG_STM32_JTAG_SW_ENABLE=n
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_STM32_FSMC_SRAM=n
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
@@ -512,6 +512,7 @@ CONFIG_HAVE_LIBM=n
# the worker thread. Default: 4
# CONFIG_SCHED_WAITPID - Enable the waitpid() API
# CONFIG_SCHED_ATEXIT - Enabled the atexit() API
# CONFIG_SCHED_ONEXIT - Enabled the atexit() API
#
#CONFIG_APPS_DIR=
CONFIG_DEBUG=n
@@ -531,7 +532,7 @@ CONFIG_DEBUG_INPUT=n
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_MM_REGIONS=3
CONFIG_MM_REGIONS=2
CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n
@@ -557,6 +558,7 @@ CONFIG_SCHED_WORKSTACKSIZE=2048
CONFIG_SIG_SIGWORK=4
CONFIG_SCHED_WAITPID=y
CONFIG_SCHED_ATEXIT=n
CONFIG_SCHED_ONEXIT=y
#
# System Logging
@@ -950,7 +952,7 @@ CONFIG_RTC_ALARM=n
#
# Input device configuration
#
CONFIG_INPUT=n
CONFIG_INPUT=y
CONFIG_INPUT_TSC2007=n
#
@@ -998,7 +1000,7 @@ CONFIG_INPUT_TSC2007=n
# for example, if your display is 320x240, then THRESHX=13 and THRESHY=17
# would correspond to one pixel. Default: 12
#
CONFIG_INPUT_STMPE11=n
CONFIG_INPUT_STMPE11=y
CONFIG_STMPE11_SPI=n
CONFIG_STMPE11_I2C=y
CONFIG_STMPE11_MULTIPLE=y
@@ -1713,7 +1715,7 @@ CONFIG_EXAMPLES_NXLINES_EXTERNINIT=n
# collected and the program terminates. Default: Samples are collected
# indefinitely.
#
CONFIG_EXAMPLES_TOUCHSCREEN_BUILTIN=y
CONFIG_EXAMPLES_TOUCHSCREEN_BUILTIN=n
CONFIG_EXAMPLES_TOUCHSCREEN_MINOR=0
CONFIG_EXAMPLES_TOUCHSCREEN_DEVPATH="/dev/input0"
CONFIG_EXAMPLES_TOUCHSCREEN_NSAMPLES=25
+1 -1
View File
@@ -142,7 +142,7 @@ typedef void (*atexitfunc_t)(void);
#endif
#ifdef CONFIG_SCHED_ONEXIT
typedef void (*onexitfunc_t)(int, FAR void *)
typedef void (*onexitfunc_t)(int exitcode, FAR void *arg);
#endif
/* POSIX Message queue */
+2 -2
View File
@@ -147,8 +147,8 @@ EXTERN int sched_lockcount(void);
#ifdef CONFIG_SCHED_INSTRUMENTATION
EXTERN void sched_note_start(FAR _TCB *tcb );
EXTERN void sched_note_stop(FAR _TCB *tcb );
EXTERN void sched_note_start(FAR _TCB *tcb);
EXTERN void sched_note_stop(FAR _TCB *tcb);
EXTERN void sched_note_switch(FAR _TCB *pFromTcb, FAR _TCB *pToTcb);
#else
+1 -1
View File
@@ -114,7 +114,7 @@ int on_exit(CODE void (*func)(int, FAR void *), FAR void *arg)
if (func && !tcb->onexitfunc)
{
tcb->onexitfunc = func;
tdb->onexitarg = arg;
tcb->onexitarg = arg;
ret = OK;
}