If an external file system is used but is not mounted by the the ELF example, then a compilation error will occur. This configuration problem has existed for a long time but was unmasked by a recent PR. In the failure mode, CONFIG_EXAMPLES_ELF_FSTYPE would not be defined because it depends on CONFIG_EXAMPLES_ELF_FSMOUNT which is not defined. The resulting mountpoint, MOUNTPT, would therefore be left in an invalid state. Previous changes to conditional logic now allowed setenv() to run and to attempt to set the PATH variable to MOUNTPT, causing a compile time failure like this:
CC: elf_main.c
elf_main.c: In function 'elf_main':
elf_main.c:113:32: error: expected ')' before 'CONFIG_EXAMPLES_ELF_FSTYPE'
# define MOUNTPT "/mnt/" CONFIG_EXAMPLES_ELF_FSTYPE
^~~~~~~~~~~~~~~~~~~~~~~~~~
elf_main.c:364:18: note: in expansion of macro 'MOUNTPT'
setenv("PATH", MOUNTPT, 1);
^~~~~~~
elf_main.c:364:3: error: too few arguments to function 'setenv'
setenv("PATH", MOUNTPT, 1);
^~~~~~
In file included from elf_main.c:47:
D:\Spuda\Documents\projects\nuttx\master\nuttx-fork\include/stdlib.h:158:11: note: declared here
int setenv(FAR const char *name, FAR const char *value, int overwrite);
^~~~~~
This problem was found during manual build testing using configuration lx_cpu:nsh.
Recent change from Xiao Xiang enabled the SO_REUSEADDR socket option unconditionally. This, of course, causes link time failures if socket options are not enabled:
apps/netutils/telnetd/telnetd_daemon.c:182: undefined reference to 'setsockopt'.
Observed during build testing with configuration rddrone-uavcan144:nsh
The ASSERT is too strong, as it cannot be disabled, so changing to
DEBUGASSERT, as calling these functions should not be a problem as
long as the application logic handle the error correctly.
The error code is changed to ENOSYS, as it seems to better reflect
the fact that the call itself would be valid, but the functionality
is not implemented (see [1] or `man errno`).
[1] https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html
Author: Alan Carvalho de Assis <engenharia03@siam.ind.br>
Run nxstyle again gs2200m_main.c file and fix issues
Author: YAMAMOTO Takashi <yamamoto@midokura.com>
gs2200m: Retry indefinately on GS2200M_IOC_ASSOC failure
The ioctl doesn't return why it failed.
It might or might not be a transient failure.
In my environment, gs2200m often returns the following for AT+WA.
It usually works after a few retries.
[ 12.110000] _parse_pkt_in_s1: +++++ 0:(msize=19, msg=WLAN CONNECT ERROR|)
[ 12.110000] _parse_pkt_in_s1: +++++ 1:(msize=6, msg=ERROR|)
Parallel build imxrt1060-evk:lvgl with the below error:
make[3]: *** No rule to make target 'lvgl/lvgl.h', needed by '/home/jenkins/jenkins-slave/
workspace/NuttX-Nightly-Build/apps/include/graphics/lvgl.h'.
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Check POLLHUP and POLLERR in telnet poll loop
to handle the remote end close correctly
Send "NVT"(network virtual terminal) as the default if getenv("TERM") return NULL
telnet should trigger the error handling if inet_pton return zero
since zero mean the string has format error
Don't return 1 in _environ_telnet to avoid trigger the compression
and remove the redundant TELNET_TELOPT_COMPRESS2 check
Change telnet_error_u to telnet_error_e required by the coding standard
Ensure telnet object get freed before the abnormal exit
Make stacksize as well as program name and priority configurable. The defaults are the same as the previous hardcoded values.
The default stacksize of 2048 bytes is more than enough for most target applications. However, when running on the simulator, much large stack sizes are needed.