walnux/sched/wqueue
Gregory Nutt fdd0dcc0b6 This commit adds internal versions of the signal interfaces:
sigtimedwait() -> nxsig_timedwait()
  sigwaitinfo()  -> nxsig_waitinfo()
  nanosleep()    -> nxsig_nanosleep()

The internal OS versions differ from the standard application interfaces in that:

  - They do not create cancellation points, and
  - they do not modify the application's errno variable

Squashed commit of the following:

    sched/signal:  Replace all usage of sigwaitinfo(), sigtimedwait(), and nanosleep() with the OS internal counterparts nxsig_waitinfo(), nxsig_timedwait(), and nxsig_nanosleep().

    sched/signal:  Add nxsig_nanosleep().  This is an internal OS version of nanosleep().  It differs in that it does not set the errno varaiable and does not create a cancellation point.

    sched/signal:  Add nxsig_timedwait() and nxsig_waitinfo().  These are internal OS versions of sigtimedwait() and sigwaitinfo().  They differ in that they do not set the errno varaiable and they do not create cancellation points.
2017-10-06 08:28:20 -06:00
..
kwork_cancel.c Remove some empty file section section header comments 2016-02-17 17:15:08 -06:00
kwork_hpthread.c Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err(). 2016-06-20 12:44:38 -06:00
kwork_inherit.c Miscellaneous fixes from astyle tool. 2017-08-14 17:19:27 -06:00
kwork_lpthread.c Miscellaneous fixes from astyle tool. 2017-08-14 17:19:27 -06:00
kwork_process.c This commit adds internal versions of the signal interfaces: 2017-10-06 08:28:20 -06:00
kwork_queue.c Work queue: In a recent change for a problem noted by Pascal Speck, it was noted (again by Pascal Speck) that the cancellation of existing work and replacement with new work must be atomic. Thanks, Pascal. 2017-08-31 07:43:47 -06:00
kwork_signal.c Signal sent from work_signal() may interrupt the low priority worker thread that is already running. For example, the worker thread that is waiting for a semaphore could be woken up by the signal and break any synchronization assumption as a result. It also does not make any sense to send signal if it is already running and busy. This commit fixes it. 2016-11-06 08:00:12 -06:00
Make.defs User-mode work queue logic should not disable interrupts 2014-10-10 14:52:04 -06:00
wqueue.h Update to use 64-bit timer when available 2016-01-21 11:54:26 -06:00