nuttx/mm/iob
Gregory Nutt 9d3148406c Signals were not a good choice of IPC to implement the poll function for several reasons: In order to handle the asynchrnous poll-related event, a substantial amount of state information is needed. Signals are only capable of passing minimal amounts of data. There are also complexities with performing kernel space signal handlers in kernel space code that is better to avoid. So, instead of signals, the equivalent logic was converted to run via a callback that executes on the high-priority work queue.
Squashed commit of the following:

    Fix up some final compile isses.

    net/netdev:  Convert the network down notification logic to use the new wqueue-based notification factility.

    net/udp:  Convert the UDP readahead notification logic to use the new wqueue-based notification factility.

    net/tcp:  Convert the TCP readahead notification logic to use the new wqueue-based notification factility.

    mm/iob:  Convert the IOB notification logic to use the new wqueue-based notification factility.

    sched/wqueue:  Signals are not good IPCs to support the target poll functionality for several reasons including the amount of data that can be passed with a signal and in the fact that in protected and kernel modes, user threads executing signal handlers in protected, kernel memory is problematic.  Instead, convert the same logic to perform the notifications via function callback on the high priority work queue.
2018-09-09 15:01:44 -06:00
..
iob_add_queue.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_alloc_qentry.c sched/semaphore: sem_trywait() modifies the errno value and, hence, should not be used within the OS. Use nxsem_trywait() instead. 2017-10-05 07:59:06 -06:00
iob_alloc.c sched/semaphore: sem_trywait() modifies the errno value and, hence, should not be used within the OS. Use nxsem_trywait() instead. 2017-10-05 07:59:06 -06:00
iob_clone.c Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
iob_concat.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_contig.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_copyin.c mm/iob/iob_copyin.c: Fixed problem with send() ret value when using nonblocking io over buffered tcp socket 2018-03-20 06:58:57 -06:00
iob_copyout.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_dump.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_free_chain.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_free_qentry.c Squashed commit of the following: 2017-10-03 15:35:24 -06:00
iob_free_queue.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_free.c sched/signal: Add a generic signal notification facility. Modify the custom IOB available notifier so that it is now just a wrapper around this generic signal notification. This generic signal notification faility will, eventually, be used to support network polling. 2018-09-09 08:32:37 -06:00
iob_initialize.c sched/signal: Add a generic signal notification facility. Modify the custom IOB available notifier so that it is now just a wrapper around this generic signal notification. This generic signal notification faility will, eventually, be used to support network polling. 2018-09-09 08:32:37 -06:00
iob_navail.c Fix some errors found during upstream merge 2018-06-28 07:06:57 -06:00
iob_notifier.c Signals were not a good choice of IPC to implement the poll function for several reasons: In order to handle the asynchrnous poll-related event, a substantial amount of state information is needed. Signals are only capable of passing minimal amounts of data. There are also complexities with performing kernel space signal handlers in kernel space code that is better to avoid. So, instead of signals, the equivalent logic was converted to run via a callback that executes on the high-priority work queue. 2018-09-09 15:01:44 -06:00
iob_pack.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_peek_queue.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_remove_queue.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_test.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_trimhead_queue.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_trimhead.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob_trimtail.c IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
iob.h sched/signal: Add a generic signal notification facility. Modify the custom IOB available notifier so that it is now just a wrapper around this generic signal notification. This generic signal notification faility will, eventually, be used to support network polling. 2018-09-09 08:32:37 -06:00
Kconfig Signals were not a good choice of IPC to implement the poll function for several reasons: In order to handle the asynchrnous poll-related event, a substantial amount of state information is needed. Signals are only capable of passing minimal amounts of data. There are also complexities with performing kernel space signal handlers in kernel space code that is better to avoid. So, instead of signals, the equivalent logic was converted to run via a callback that executes on the high-priority work queue. 2018-09-09 15:01:44 -06:00
Make.defs sched/signal: Add a generic signal notification facility. Modify the custom IOB available notifier so that it is now just a wrapper around this generic signal notification. This generic signal notification faility will, eventually, be used to support network polling. 2018-09-09 08:32:37 -06:00