[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [task #14420] Remove sys_sem_signal from inside SYS_ARCH_PR
From: |
Joel Cunningham |
Subject: |
[lwip-devel] [task #14420] Remove sys_sem_signal from inside SYS_ARCH_PROTECT crit section |
Date: |
Mon, 24 Jul 2017 17:18:47 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0 |
Follow-up Comment #13, task #14420 (project lwip):
With item 3 I was trying to describe the following execution flow in
event_callback (for !LWIP_TCPIP_CORE_LOCKING case):
1) SYS_ARCH_PROTECT
2) Update sock events, i.e. sock->rcvevent++
3) Save sock events to local, i.e. has_recvevent = sock->rcvevent > 0;
4) Loop over select_cb_list, process scb
5) SYS_ARCH_UNPROTECT/SYS_ARCH_PROTECT
6) Possibly restart if select_cb_ctr changed
7) Goto 4 until scb == NULL
With the refactor, there is now an UNPROTECT/PROTECT between saving the events
(#3) and starting the first iteration of the loop (#4)
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/task/?14420>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/