Squashed commit of the following:

sched/sched:  Correct some build issues introduced by last set of changes.
    sched/sched:  Add new internal OS function nxsched_setaffinity() that is identical to sched_isetaffinity() except that it does not modify the errno value.  All usage of sched_setaffinity() within the OS is replaced with nxsched_setaffinity().
    sched/sched:  Internal functions sched_reprioritize() and sched_setpriority() no longer movidify the errno value.  Also renamed to nxsched_reprioritize() and sched_setpriority().
    sched/sched:  Add new internal OS function nxsched_getscheduler() that is identical to sched_getscheduler() except that it does not modify the errno value.  All usage of sched_getscheduler() within the OS is replaced with nxsched_getscheduler().
    sched/sched:  Add new internal OS function nxsched_setparam() that is identical to sched_setparam() except that it does not modify the errno value.  All usage of sched_setparam() within the OS is replaced with nxsched_setparam().
    sched/sched:  Add new internal OS function nxsched_getparam() that is identical to sched_getparam() except that it does not modify the errno value (actually, the previous value erroneously neglected to set the errno value to begin with, but this fixes both issues).  All usage of sched_getparam() within the OS is replaced with nxsched_getparam().
This commit is contained in:
Gregory Nutt
2018-01-30 11:08:18 -06:00
parent 947191780f
commit 170a50c690
30 changed files with 605 additions and 246 deletions
+7 -5
View File
@@ -255,11 +255,13 @@ o Task/Scheduler (sched/)
message queue used in the OS. I am keeping this issue
open because (1) there are some known remaining calls that
that will modify the errno (such as dup(), dup2(),
sched_getparam(), sched_reprioritize(). sched_setaffinity(),
task_activate(), mq_open(), mq_close(), and others) and (2)
there may still be calls that create cancellation points.
Need to check things like open(), close(), read(), write(),
and possibly others.
task_activate(), mq_open(), mq_close(), and others) and
(2) there may still be calls that create cancellation
points. Need to check things like open(), close(), read(),
write(), and possibly others.
2018-01-30: This change has been completed for the case of
scheduler functions used within the OS: sched_getparam(),
sched_setparam(), sched_getscheduler(), and sched_setaffinity(),
Status: Open
Priority: Low. Things are working OK the way they are. But the design