diff --git a/sched/sched/sched_setaffinity.c b/sched/sched/sched_setaffinity.c index 9a6a0c9cdc6..f7fb5928124 100644 --- a/sched/sched/sched_setaffinity.c +++ b/sched/sched/sched_setaffinity.c @@ -156,8 +156,14 @@ int sched_setaffinity(pid_t pid, size_t cpusetsize, FAR const cpu_set_t *mask) errout_with_csection: leave_critical_section(flags); + errout_with_lock: sched_unlock(); - set_errno(errcode); - return errcode ? ERROR : OK; + if (errcode != 0) + { + set_errno(errcode); + return ERROR; + } + + return OK; }