Tom Lane wrote: > Kevin Brown <[EMAIL PROTECTED]> writes: > > Hmm...something just occurred to me about this. > > > Would a hybrid approach be possible? That is, use mmap() to handle > > reads, and use write() to handle writes? > > Nope. Have you read the specs regarding mmap-vs-stdio synchronization? > Basically it says that there are no guarantees whatsoever if you try > this. The SUS text is a bit weaselly ("the application must ensure > correct synchronization") but the HPUX mmap man page, among others, > lays it on the line: > > It is also unspecified whether write references to a memory region > mapped with MAP_SHARED are visible to processes reading the file and > whether writes to a file are visible to processes that have mapped the > modified portion of that file, except for the effect of msync(). > > It might work on particular OSes but I think depending on such behavior > would be folly...
Yeah, and at this point it can't be considered portable in any real way because of this. Thanks for the perspective. I should have expected the general specification to be quite broken in this regard, not to mention certain implementations. :-) Good thing there's a lot of lower-hanging fruit than this... -- Kevin Brown [EMAIL PROTECTED] ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]