rt-thread/components
Grissiom 1ebf7b5196 [Netif] Fix the eth_tx_msg protection
The ethernetif use semaphore netif->tx_ack to protect the local variable
`struct eth_tx_msg msg` in function `ethernetif_linkoutput`. But the
function could be called in multiple context: LwIP "tcpip" thread, "erx"
thread(on linkup) and any user thread that call `udp_sendto`. So the
global semaphore protection is not sufficient. It could only wakeup the
top priority waiting thread instead of the thread that owns the `msg`
and may result the `msg` next in the mailbox got destructed.

So to use a `rt_completion` within the `struct eth_tx_msg` and
synchronize on that. This could deal the ownership issue in an easy way.
2021-09-11 13:11:57 +08:00
..
cplusplus [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
dfs 优化dfs.h和dirent.h的包含关系 2021-09-01 09:28:16 -04:00
drivers serial: add CTS/RTS flowcontrol. 2021-09-06 13:27:40 +08:00
finsh Merge pull request #5016 from mysterywolf/finsh 2021-09-07 20:25:26 +08:00
libc 优化dfs.h和dirent.h的包含关系 2021-09-01 09:28:16 -04:00
lwp [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
net [Netif] Fix the eth_tx_msg protection 2021-09-11 13:11:57 +08:00
utilities fix Macro definition syntax error in ulog.c 2021-09-09 17:02:21 +08:00
vbus [finsh] 修复由于移除finsh导致__cmd_xxx命令无法使用的问题 2021-09-05 01:57:26 -04:00
vmm [compoenets] auto & manual formatted 2021-03-08 18:19:04 +08:00
Kconfig [components/Kconfig]解除组件初始化与使用user main的依赖,默认两者均不使能 2019-09-11 12:03:37 +08:00
SConscript [components] 移除对老版本bsp的lwip版本默认选定 2021-06-28 15:33:14 +08:00