90c52e6f8f
Author: Gregory Nutt <gnutt@nuttx.org> Run all .h and .c files modified in last PR through nxstyle. Author: Xiang Xiao <xiaoxiang@xiaomi.com> Net cleanup (#17) * Fix the semaphore usage issue found in tcp/udp 1. The count semaphore need disable priority inheritance 2. Loop again if net_lockedwait return -EINTR 3. Call nxsem_trywait to avoid the race condition 4. Call nxsem_post instead of sem_post * Put the work notifier into free list to avoid the heap fragment in the long run. Since the allocation strategy is encapsulated internally, we can even refine the implementation later. * Network stack shouldn't allocate memory in the poll implementation to avoid the heap fragment in the long run, other modification include: 1. Select MM_IOB automatically since ICMP[v6] socket can't work without the read ahead buffer 2. Remove the net lock since xxx_callback_free already do the same thing 3. TCP/UDP poll should work even the read ahead buffer isn't enabled at all * Add NET_ prefix for UDP_NOTIFIER and TCP_NOTIFIER option to align with other UDP/TCP option convention * Remove the unused _SF_[IDLE|ACCEPT|SEND|RECV|MASK] flags since there are code to set/clear these flags, but nobody check them.
54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menu "Socket Support"
|
|
|
|
config NSOCKET_DESCRIPTORS
|
|
int "Number of socket descriptors"
|
|
default 8
|
|
range 1 99999
|
|
---help---
|
|
Maximum number of socket descriptors per task/thread.
|
|
|
|
config NET_NACTIVESOCKETS
|
|
int "Max socket operations"
|
|
default 16
|
|
---help---
|
|
Maximum number of concurrent socket operations (recv, send,
|
|
connection monitoring, etc.). Default: 16
|
|
|
|
config NET_SOCKOPTS
|
|
bool "Socket options"
|
|
default n
|
|
---help---
|
|
Enable or disable support for socket options
|
|
|
|
config NET_TCPPROTO_OPTIONS
|
|
bool
|
|
default n
|
|
---help---
|
|
Enable or disable support for TCP protocol level socket options.
|
|
|
|
config NET_UDPPROTO_OPTIONS
|
|
bool
|
|
default n
|
|
---help---
|
|
Enable or disable support for UDP protocol level socket options.
|
|
|
|
if NET_SOCKOPTS
|
|
|
|
config NET_SOLINGER
|
|
bool "SO_LINGER socket option"
|
|
default n
|
|
depends on NET_TCP_WRITE_BUFFERS || NET_UDP_WRITE_BUFFERS
|
|
select NET_TCP_NOTIFIER if NET_TCP
|
|
select NET_UDP_NOTIFIER if NET_UDP
|
|
---help---
|
|
Enable or disable support for the SO_LINGER socket option. Requires
|
|
write buffer support.
|
|
|
|
endif # NET_SOCKOPTS
|
|
endmenu # Socket Support
|