diff --git a/TODO b/TODO index bcb030a2eb6..e054c238f49 100644 --- a/TODO +++ b/TODO @@ -789,12 +789,16 @@ o Signals (sched/signal, arch/) actual signal action as well as some housekeeping functions then - up_sigdeliver() performs a context switch back to the normal, - uninterrupted thread. + uninterrupted thread instead of returning to nxsig_deliver(). The loop in nxsig_deliver() then will have the opportunity to run until when that normal, uniterrupted thread is suspended. Then the loop will continue with the next queued signal action. + + Normally signals execute immediately. The is the whole reason + why almost all blocking APIs return when a signal is received + (with errno equal to EINTR). Status: Open Priority: Low. This design flaw has been around for ages and no one has yet complained about it. Apparently the visibility of the problem is diff --git a/configs/boardctl.c b/configs/boardctl.c index cb0b252bca5..6f5a9a3cec6 100644 --- a/configs/boardctl.c +++ b/configs/boardctl.c @@ -48,7 +48,10 @@ #include #include #include -#include + +#ifdef CONFIG_NX +# include +#endif #ifdef CONFIG_BOARDCTL_USBDEVCTRL # include diff --git a/include/nuttx/nx/nxmu.h b/include/nuttx/nx/nxmu.h index e13c1237973..c4c808e9f6a 100644 --- a/include/nuttx/nx/nxmu.h +++ b/include/nuttx/nx/nxmu.h @@ -56,10 +56,6 @@ /* Configuration ************************************************************/ -#ifdef CONFIG_DISABLE_MQUEUE -# error "Message queues are disabled(CONFIG_DISABLE_MQUEUE)" -#endif - #ifndef CONFIG_NX_MXSERVERMSGS # define CONFIG_NX_MXSERVERMSGS 32 /* Number of pending messages in server MQ */ #endif