diff --git a/configs/stm32f3discovery/nsh/defconfig b/configs/stm32f3discovery/nsh/defconfig index c487c0296a2..4b81a70ad6a 100644 --- a/configs/stm32f3discovery/nsh/defconfig +++ b/configs/stm32f3discovery/nsh/defconfig @@ -87,7 +87,7 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y # CONFIG_ARCH_FPU is not set CONFIG_ARCH_HAVE_MPU=y # CONFIG_ARMV7M_MPU is not set -CONFIG_BOARD_LOOPSPERMSEC=16717 +CONFIG_BOARD_LOOPSPERMSEC=6522 # CONFIG_ARCH_CALIBRATION is not set # @@ -173,13 +173,13 @@ CONFIG_STM32_SYSCFG=y # CONFIG_STM32_TIM2 is not set # CONFIG_STM32_TIM3 is not set # CONFIG_STM32_TIM4 is not set -# CONFIG_STM32_TIM5 is not set # CONFIG_STM32_TIM6 is not set # CONFIG_STM32_TIM7 is not set # CONFIG_STM32_TIM8 is not set # CONFIG_STM32_TIM15 is not set # CONFIG_STM32_TIM16 is not set # CONFIG_STM32_TIM17 is not set +# CONFIG_STM32_TSC is not set # CONFIG_STM32_USART1 is not set CONFIG_STM32_USART2=y CONFIG_STM32_USB=y diff --git a/configs/stm32f3discovery/ostest/defconfig b/configs/stm32f3discovery/ostest/defconfig index f5a51ccc5f8..3db0015460c 100644 --- a/configs/stm32f3discovery/ostest/defconfig +++ b/configs/stm32f3discovery/ostest/defconfig @@ -87,7 +87,7 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y # CONFIG_ARCH_FPU is not set CONFIG_ARCH_HAVE_MPU=y # CONFIG_ARMV7M_MPU is not set -CONFIG_BOARD_LOOPSPERMSEC=16717 +CONFIG_BOARD_LOOPSPERMSEC=6522 # CONFIG_ARCH_CALIBRATION is not set # @@ -173,13 +173,13 @@ CONFIG_STM32_SYSCFG=y # CONFIG_STM32_TIM2 is not set # CONFIG_STM32_TIM3 is not set # CONFIG_STM32_TIM4 is not set -# CONFIG_STM32_TIM5 is not set # CONFIG_STM32_TIM6 is not set # CONFIG_STM32_TIM7 is not set # CONFIG_STM32_TIM8 is not set # CONFIG_STM32_TIM15 is not set # CONFIG_STM32_TIM16 is not set # CONFIG_STM32_TIM17 is not set +# CONFIG_STM32_TSC is not set # CONFIG_STM32_USART1 is not set CONFIG_STM32_USART2=y # CONFIG_STM32_USB is not set @@ -268,7 +268,9 @@ CONFIG_MSEC_PER_TICK=10 CONFIG_RR_INTERVAL=200 # CONFIG_SCHED_INSTRUMENTATION is not set CONFIG_TASK_NAME_SIZE=0 -# CONFIG_SCHED_HAVE_PARENT is not set +CONFIG_SCHED_HAVE_PARENT=y +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_PREALLOC_CHILDSTATUS=0 # CONFIG_JULIAN_TIME is not set CONFIG_START_YEAR=2009 CONFIG_START_MONTH=9 @@ -299,6 +301,7 @@ CONFIG_DISABLE_ENVIRON=y CONFIG_SIG_SIGUSR1=1 CONFIG_SIG_SIGUSR2=2 CONFIG_SIG_SIGALARM=3 +CONFIG_SIG_SIGCHLD=4 CONFIG_SIG_SIGCONDTIMEDOUT=16 # diff --git a/configs/stm32f3discovery/usbnsh/defconfig b/configs/stm32f3discovery/usbnsh/defconfig index 97554981519..2f6bd01385a 100644 --- a/configs/stm32f3discovery/usbnsh/defconfig +++ b/configs/stm32f3discovery/usbnsh/defconfig @@ -87,7 +87,7 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y # CONFIG_ARCH_FPU is not set CONFIG_ARCH_HAVE_MPU=y # CONFIG_ARMV7M_MPU is not set -CONFIG_BOARD_LOOPSPERMSEC=16717 +CONFIG_BOARD_LOOPSPERMSEC=6522 # CONFIG_ARCH_CALIBRATION is not set # @@ -173,13 +173,13 @@ CONFIG_STM32_SYSCFG=y # CONFIG_STM32_TIM2 is not set # CONFIG_STM32_TIM3 is not set # CONFIG_STM32_TIM4 is not set -# CONFIG_STM32_TIM5 is not set # CONFIG_STM32_TIM6 is not set # CONFIG_STM32_TIM7 is not set # CONFIG_STM32_TIM8 is not set # CONFIG_STM32_TIM15 is not set # CONFIG_STM32_TIM16 is not set # CONFIG_STM32_TIM17 is not set +# CONFIG_STM32_TSC is not set # CONFIG_STM32_USART1 is not set CONFIG_STM32_USART2=y CONFIG_STM32_USB=y diff --git a/sched/sched_waitpid.c b/sched/sched_waitpid.c index edd1f3a9783..7d119635057 100644 --- a/sched/sched_waitpid.c +++ b/sched/sched_waitpid.c @@ -350,7 +350,9 @@ pid_t waitpid(pid_t pid, int *stat_loc, int options) } } } -#else + +#else /* CONFIG_SCHED_CHILD_STATUS */ + if (rtcb->nchildren == 0) { /* There are no children */ @@ -373,7 +375,8 @@ pid_t waitpid(pid_t pid, int *stat_loc, int options) goto errout_with_errno; } } -#endif + +#endif /* CONFIG_SCHED_CHILD_STATUS */ /* Loop until the child that we are waiting for dies */ @@ -455,7 +458,9 @@ pid_t waitpid(pid_t pid, int *stat_loc, int options) goto errout_with_errno; } } -#else + +#else /* CONFIG_SCHED_CHILD_STATUS */ + /* Check if the task has already died. Signals are not queued in * NuttX. So a possibility is that the child has died and we * missed the death of child signal (we got some other signal @@ -473,7 +478,8 @@ pid_t waitpid(pid_t pid, int *stat_loc, int options) err = ECHILD; goto errout_with_errno; } -#endif + +#endif /* CONFIG_SCHED_CHILD_STATUS */ /* Wait for any death-of-child signal */