lwip-devel
[Top][All Lists]
Advanced

[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: Fri, 21 Jul 2017 17:15:17 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0

Update of task #14420 (project lwip):

        Percent Complete:                    100% => 90%                    
             Assigned to:               goldsimon => jcunningham            
             Open/Closed:                  Closed => Open                   

    _______________________________________________________

Follow-up Comment #11:

Simon,

Re-opening issue for refactor to improve readability.  Attached is a patch
that does some event_callback() refactoring.  Changes were mainly moving code,
not too invasive.  I would appreciate a review before pushing :)

>From commit message:

This refactors event_callback() to separate updating socket event
state from processing the select list (to apply socket event change)

Refactoring changes:

1) select_list_cb processing has been moved to a new local function called
select_check_waiters()
2) goto no_select_wakeup has been removed and now we use a flag
to track whether to call select_check_waiters()
3) There is a small functional change for !LWIP_TCPIP_CORE_LOCKING.
We call SYS_ARCH_UNPROTECT after saving events but before calling
select_check_waiters() (which now calls PROTECT before starting the loop).
Before the code held the PROTECT across saving the events and the first
loop iteration, but this didn't protect against anything because each loop
iteration we do an UNPROTECT/PROTECT
4) Better documentation for both LWIP_TCPIP_CORE_LOCKING and
!LWIP_TCPIP_CORE_LOCKING


(file #41283)
    _______________________________________________________

Additional Item Attachment:

File name: 0001-sockets-Refactor-event_callback.patch Size:7 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?14420>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]