[Seaside] OmniBase

tim Rowledge tim at rowledge.org
Thu Dec 29 22:08:26 CET 2005

> On 26 déc. 05, at 19:52, Lukas Renggli wrote:
>>>> Squeak file IO is ****ed (example http://bugs.impara.de/view.php?
>>>> id=2149)
>>> This bug has nothing whatsoever to do with omnibase. It's simply  
>>> that
>>> source-code access hasn't been touched since the long forgotten days
>>> of MVC.
>> Yeah, that particular bug is unrelated to OmniBase, but still there
>> are some problems in the Squeak filesystem-support related to
>> OmniBase:
>> - StandardFileStream>>size does return return wrong results, because
>> it is (wrongly) cached within the VM, if the same file is opened by
>> different (native or squeak) processes at the same time. This
>> particular problem is well known and we already complained several
>> times, but nobody is willing to remove that EVIL and INVALID caching
>> from the VM! Well, I could even fix it by myself, but I don't know  
>> how
>> to commit VM changes ...

I've complained about it on a number of occasions but never had any  
response that might explain why it was ever implemented that way. Do  
note that changing it to query the OS would be simple enough BUT it  
would have interesting impacts upon many of the other file prims. For  
example, what happens about handling errors when you try to write  
beyond the filesize, or another process has extended the file and you  
thought you were writing at the end. There are so many horrible   
problems with allowing multiple access to files it makes my head  
spin. We simply shouldn't do it.

The entire file system needs a  full rewrite from bottom to top.  
Anyone suggesting the 'you only need to implement the posix calls and  
make it all work that way' will discover the power of telekinesis as  
I use my Mighty Mental Powers to have them deliver a resounding  
dopeslap to themselves.

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Base 8 is just like base 10, if you are missing two fingers.

More information about the Seaside mailing list