Does anyone have any experience of a RTOS called USX? (It was written by US Software in mid 80's)
We are having task scheduling problems with tasks going missing on a seemingly random basis. It seems that on occasions a task being moved from a Waiting Event Queue being placed on the run queue interrupts can occur and set events that put other waiting tasks on to the run queue. When the ISR is finished the previous task is put on the run queue using an invalid pointer thus removing the task that was put on the run queue in the ISR never to be seen again.
In USX, all queue manipulation activity should be protected against this by interrupt masking. However, we think there maybe some occasions in the USX OS where this is not the case.
Given the OS age, someone else out there would have seen this problem already.
We have done a great deal of work on this already with trace boards and emulators but we have been unsuccessful in finding the fault so far.
Anyone help appreciated!