OSSched

OSSched

Description

OSSched() allows a task to call the scheduler. You would use this function after doing a series of “posts” where you specified OS_OPT_POST_NO_SCHED as a post option.

OSSched() can only be called by task-level code. Also, if the scheduler is locked (i.e., OSSchedLock() was previously called), then OSSched() will have no effect.

If a higher-priority task than the calling task is ready-to-run, OSSched() will context switch to that task.

Files

os.h/os_core.c

Prototype

void OSSched (void)

Arguments

None

Returned Value

None

Required Configuration

None

Callers

Application.

Notes/Warnings

None

Example Usage

OSSched() example usage
void TaskX (void *p_arg) { (void)&p_arg; while (DEF_ON) { : OS??Post(...); /* Posts with OS_OPT_POST_NO_SCHED option */ /* Check "err" */ : : OS??Post(...); /* Check "err" */ : : OS??Post(...); /* Check "err" */ : : OSSched(); /* Run the scheduler */ : : } }