[Seaside] Serving files -- correction
mmille10 at comcast.net
mmille10 at comcast.net
Sat Oct 14 09:17:20 UTC 2006
-------------- Original message --------------
From: Jason Johnson <jbjohns at libsource.com>
> David Shaffer wrote:
> > tim Rowledge wrote:
> >>
> >> On 11-Oct-06, at 5:10 AM, David Shaffer wrote:
> >>
> >> Assuming I understand 'tread safe' in same way that you mean it, that
> >> isn't strictly correct. The problem is that the squeak model use
> >> separate positioning and read/writing calls. Thus is is quite
> >> possible (been there....) to have two processes referring to the same
> >> file and get
> >> procA -> position: a
> >> procB -> position: b
> >> procA -> read from position (which I thought was a!)
> >> boom.
> >>
> > I thought my meaning was the obvious one but now that I hear yours I'd
> > agree that I was wrong. So...(let's hope the second try is a charm)
> >
> > Just a point of clarification: file I/O on a single Stream is not
> > thread safe
>
> I know of no languages that are. If two processes are sharing the same
> data structure, then that will always have race conditions, unless every
> access is blocked by a Mutex (which, of course, you don't want).
I think I misinterpreted this message the first time through. What David was saying is that positioning the stream to a certain location in the file doesn't help, because the other thread may come along and position it somewhere else. I don't know enough to say whether the read operation also repositions the "file pointer" in the stream, so to speak. Anyway, like I was saying in my last message, it sounds like an intermediary architecture might be necessary to make different threads play nice together with the same file.
---Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20061014/9891704f/attachment.htm
More information about the Seaside
mailing list