[squeak-dev] CurrenReadOnlySourceFiles (was: Re: Question about inlining | How to access named temps in FullBlockClosure?)
tim at rowledge.org
Mon Mar 30 22:33:09 UTC 2020
> On 2020-03-30, at 2:21 PM, Levente Uzonyi <leves at caesar.elte.hu> wrote:
> When I introduced CurrentReadOnlySourceFiles, I wanted to solve the issue of concurrent access to the source files.
> I had the following options:
> 1) controlled access to a shared resource (a single read-only copy of the SourceFiles array) with e.g. a Monitor
> 2) same as 1) but with multiple copies pooled
> 3) exceptions to define the scope and lifetime of the resources (the read-only copies) within a process
Without having really considered this in years, if I remember right almost all this problem is at root caused by the stupidity of us having a file access regime based on the ansi stream stuff - ie set the position, do a read (or write, whatever) and since they are separate operations one can get utterly screwed up by multiple processes having access. That part completely goes away with a more sensible approach where the position and the read/write are a single operation. As in readFromThisFileAcessorAtThisPositionThisManyBytes. I suspect one could find email from me about this from '96 at least.
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
When all else fails, let a = 7. If that doesn't help, then read the manual.
More information about the Squeak-dev