
Wolfgang Denk wrote:
In message 408CE1D9.1080201@intracom.gr you wrote:
We can do the same with environment variables.
Let's partition the variables to two categories.
I see what you mean. But it might be not as easy.
One will be the normal variables as we have now. The other we can refer to them as phantom variables; they are never written to persistant storage but live in RAM only. The version variable you refer is one of them.
IMHO it's a more consistent interface.
Well, but how do you present it to the user? Will "printenv" show all variables mixed? So how does the user know which get saved and which not? How do you merge both with the standard CLI and hush in a consistent way? And allthis without (significantly) increasing the memory footprint _and_ keeping the code readable?
Well, will the user care?
Why should he know that the version or the clock variable is real? If he tries to change a read only variable it should be denied. If the variable is writable the action should take place immediately. If the action should be persistent it should be saved to storage.
Since the variables are present at RAM but not in persistent storage the size of the environment is the same. As for the code footprint this is debatable. If someone needs this "feature" he can enable it explicitly. If not enabled everything should work as it were.
As for the state of Linux, we can try to migrate 2.6 to this interface.
Good idea.
Best regards,
Wolfgang Denk
Regards
Pantelis