-
Notifications
You must be signed in to change notification settings - Fork 253
Description
Describe the bug
In the sem-speed-test, the main thread stops the test by doing a task delay and then deleting the worker tasks.
When running on a hard real time kernel and a single processor system, if the worker threads are a higher priority than the main thread, then the main thread never gets CPU time to stop the test and it just runs infinitely.
To Reproduce
Run the test on a single-processor system such as VxWorks or RTEMS where the originating (shell) task is a (logically) lower priority than 50, which is the priority given to the worker tasks it creates. The test will never exit because the root task never gets CPU time again to cancel the worker tasks.
Expected behavior
The test should never run infinitely, regardless of (mis-)configuration.
System observed on:
RTEMS 4.11 on i686 (QEMU)
Additional context
The worker tasks should employ some type of hard limit so they do not run infinitely even if the priority is higher than the root task.
Reporter Info
Joseph Hickey, Vantage Systems, Inc.