Hello,
Yes, because SALVO can access any of the labels, defined into tasks, in some situation it's possible the user to force to GOTO some of this labels, let's call it - Emergency Label and to do this immediately. And tasks that are eligible and marked for emergency will be forced to go not to the normal return point , but to the emergency labels. Something like mobilization in war situation - you don't go in the office, but in the army. Or other time - you don't go in the office, because your car need service right now. Or old friend is deadly ill - you don't go in the office too. And this is part of the real life.. I mean, it's possible. The same is with the programs - sometimes they need to break dramatically the rules. Because SALVO is very good made, it's really hard to break the rules dramatically - waiting forever tasks for some event will wake up only after the danger disappeared, delayed for long time tasks will wake up after the house was burned up. Do you understand the basic idea - how to force all sleeping functionality to wake up and to go in emergency state (sounds very actual for US now).
As I told you - this is just idea and it's not cleared. But the seed is - sometimes we need to break the rules, or more exactly - to change dramatically the rules. In such cases we need some new approach - to GOTO to some place immediately. So all tasks that are waiting or delayed and are marked for emergency will wake up and go to some place.
Even it's possible to be defined some number of different attention - Atention Levels. Calling every lavel will break the normal algorithm of some tasks and GOTO to their EMERGENCY labels for this attention level.
An example, that will explain my idea - you have hot printing machine with head, that is over 200 degress hot and it's controlled from step mottor. Now imagine that the worker put his hand under the thermal head (accident) and tries to remove it - he press the emergency stop button. With current functionality of SALVO is hard to implement such immediately response in all levels, taht will save the worker. Well, using EFlags could help somehow, but the program will become very heavy - to watch after every efent flag waiting is there emergency bit set. I tell you this, because a friend of mine was badly injured because the machine didn't have immediately save response. One tick more - and it's late.
As I told you this is just idea. All your efforts are into direction to make SALVO with clear algorythm, simple and clear rules. Maybe my idea is in opposide direction - to make exception of this rules. You know - in the real life is good from time to time to make exceptions, they are part of our life and they ar every useful in critical situations. SO, this article is maybe in destroy direction for SALVO - to bring some small amount of "haos" into it's university... little solt.
Regards
Luben
[This message has been edited by luben (edited September 28, 2001).]