This page attempts to show the ongoing revisions to various ROCS implementation. These are changes that apply to the ROCS infrastructure rather than to the implementation code. For example, a change to the way actions are dispatched would be listed here but a change to the sampling model for the Mugef would not. The basic idea is that ROCS users can be kept up to date of changes to other implementations that they might find useful.
An attempt has been made to categorise the changes in terms of Urgency/Desirability and ease of implementation. For example, a fix to the shared memory allocation bug would be highly desirable whilst a cosmetic change to the printnvram program would have much lower impact.
Ease of implementation would range from a simple file swap (1) to multiple hand edits to several sources (5). Remember, the aim of this page is to be useful rather than pedantic.
This page consists of a change matrix with links to brief descriptions of the changes. As new changes come along, they are added to the table (at the top). When everybody has implemented a change, it is liable to be culled from the table
Description | Urgency | Ease | Under Develop. | In Porting Kit | In Mugef | In MOPOS |
New shmalloc routines | 3 | 1 | Yes | |||
UIReturn() multiplexing | 2 | 4 | Yes | Yes | ||
find_controller() fix | 3 | 1 | Yes | |||
action lock mechanism | 2 | 3 | Yes | Yes | ||
action synchronisation | Yes | |||||
The Following Paragraphs briefly describe the changes in the table above:
The shared memory allocation routines in shm_alloc.c which originated in the GNU Emacs code were found to have bugs which crashed Mugef when large functions were loaded. This file was re-written as a wrapper for the mm.c routines used by Mugef for allocation on the 206 and Newave 3.1 function generator. Simple change of shm_alloc.c
This adds a new argument to the UIReturn() / GetReturn routines which will allow the action routines to be called from different sources. This was initially added to allow actions to be written which would spawn other actions and return to the correct caller. Since each call needs to be modified, this should be implemented at an early stage in development.
A simple modification to the mapvme.c module to add a body to the UnMapVME() routine to call the CES routine return_controller(). This will save kernel resources being used up with calls to find_controller(), which will ultimately lead to the message "find_controller est futue".
This is a modification to the dispatcher module of the sequence to prevent an action being run several times if the same event is received before the action is finished. The modification consists of a change to dispatch.c and changes to ant 'real-time' actions.
Introduction of locking mechanisms to allow a degree of safety in a multi-user situation. This is currently based on the synchronise keyword of Java threads.
******************* See the page on Changes for LynxOS 2.5.1 for the latest news ! **************************
This page last changed on 27/09/1998