lwIP - A Lightweight TCP/IP stack - Tasks: task #14420, Remove sys_sem_signal from inside...
You are not allowed to post comments on this tracker with your current authentication level.
task #14420: Remove sys_sem_signal from inside SYS_ARCH_PROTECT crit section
Submitter: | Joel Cunningham <jcunningham> | ||
Submitted: | Fri 24 Mar 2017 03:21:46 PM UTC | ||
Category: | socket/netconn | Should Start On: | Fri 24 Mar 2017 12:00:00 AM UTC |
Should be Finished on: | Fri 24 Mar 2017 12:00:00 AM UTC | Priority: | 5 - Normal |
Status: | Done | Privacy: | Public |
Assigned to: | jcunningham | Percent Complete: | 100% |
Open/Closed: | Closed | Planned Release: | None |
Effort: | 0.00 |
Jump to the original submission
Tue 25 Jul 2017 08:12:39 PM UTC, comment #14: |
Joel Cunningham <jcunningham> |
Mon 24 Jul 2017 09:18:47 PM UTC, comment #13: With item 3 I was trying to describe the following execution flow in event_callback (for !LWIP_TCPIP_CORE_LOCKING case):
|
Joel Cunningham <jcunningham> |
Mon 24 Jul 2017 07:24:23 PM UTC, comment #12: I don't get the 3) thing. Other than that, the patch looks fine. |
Simon Goldschmidt <goldsimon> |
Fri 21 Jul 2017 09:15:17 PM UTC, comment #11: Simon,
|
Joel Cunningham <jcunningham> |
Thu 20 Jul 2017 07:12:46 PM UTC, comment #10: Joel, please feel free to change the code to make it more readable! goto is often not the best solution... |
Simon Goldschmidt <goldsimon> |
Wed 19 Jul 2017 02:56:04 PM UTC, comment #9: Ignore previous comment, NETCONN_EVT_RCVMINUS cases hit the "goto no_select_wakeup" and never touch the select_cb_list code, so while core lock is not held
|
Joel Cunningham <jcunningham> |
Wed 19 Jul 2017 02:42:44 PM UTC, comment #8: I was auditing the changes for this task again and I believe there is an outstanding synchronization issue for the TCPIP_CORE_LOCKING case.
|
Joel Cunningham <jcunningham> |
Tue 11 Apr 2017 08:27:57 PM UTC, comment #7:
|
Simon Goldschmidt <goldsimon> |
Tue 11 Apr 2017 08:19:11 PM UTC, comment #6: Reviewed the change, exactly what I was thinking, thanks :)
|
Joel Cunningham <jcunningham> |
Tue 11 Apr 2017 07:00:30 PM UTC, comment #5: Done (comment #2). |
Simon Goldschmidt <goldsimon> |
Tue 11 Apr 2017 02:44:15 PM UTC, comment #4: Yes, good idea! |
Simon Goldschmidt <goldsimon> |
Tue 11 Apr 2017 02:41:39 PM UTC, comment #3:
|
Joel Cunningham <jcunningham> |
Tue 11 Apr 2017 02:37:43 PM UTC, comment #2: Simon,
|
Joel Cunningham <jcunningham> |
Tue 11 Apr 2017 10:43:43 AM UTC, comment #1: Fixed by protecting select_cb_list using LOCK_TCPIP_CORE() instead of SYS_ARCH_PROTECT(). |
Simon Goldschmidt <goldsimon> |
Fri 24 Mar 2017 03:21:46 PM UTC, original submission:
In event_callback(), the select infrastructure uses SYS_ARCH_PROTECT to provide synchronization. It calls sys_sem_signal() while inside the critical section and this has worked with interrupt enable/disable implementations of SYS_ARCH_PROTECT (and obviously mutex implementations).
|
Joel Cunningham <jcunningham> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 14 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2017-07-25 | jcunningham | Percent Complete | 90% | 100% | |
Open/Closed | Open | Closed | |||
2017-07-21 | jcunningham | Attached File | - | Added 0001-sockets-Refactor-event_callback.patch, #41283 | |
Percent Complete | 100% | 90% | |||
Assigned to | goldsimon | jcunningham | |||
Open/Closed | Closed | Open | |||
2017-07-19 | jcunningham | Percent Complete | 90% | 100% | |
Open/Closed | Open | Closed | |||
2017-07-19 | jcunningham | Percent Complete | 100% | 90% | |
Open/Closed | Closed | Open | |||
2017-04-11 | goldsimon | Status | None | Done | |
Percent Complete | 0% | 100% | |||
Assigned to | None | goldsimon | |||
Open/Closed | Open | Closed |
Powered by Savane 3.13-f8d8.
Corresponding source code
Patch pushed in c5db278746daedcc6566822992f3f33ce3801470, let me know if there is any additional questions/discussion