1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

core: thread: Added validation of pid

This commit is contained in:
IldarValiev 2016-03-04 00:29:55 +05:00
parent d005861f5c
commit bad2b5c187

View File

@ -69,8 +69,12 @@ int thread_wakeup(kernel_pid_t pid)
unsigned old_state = disableIRQ();
thread_t *other_thread = (thread_t *) sched_threads[pid];
if (other_thread && other_thread->status == STATUS_SLEEPING) {
thread_t *other_thread = (thread_t *) thread_get(pid);
if (!other_thread) {
DEBUG("thread_wakeup: Thread does not exist!\n");
}
else if (other_thread->status == STATUS_SLEEPING) {
DEBUG("thread_wakeup: Thread is sleeping.\n");
sched_set_status(other_thread, STATUS_RUNNING);
@ -82,10 +86,10 @@ int thread_wakeup(kernel_pid_t pid)
}
else {
DEBUG("thread_wakeup: Thread is not sleeping!\n");
restoreIRQ(old_state);
return STATUS_NOT_FOUND;
}
restoreIRQ(old_state);
return STATUS_NOT_FOUND;
}
void thread_yield(void)