Subject: Re: Mmap problem
From: Chris Faylor <[email-masked]>
To: Earnie Boyd <[email-masked]>
Cc: Steve Jorgensen <[email-masked]>, [email-masked]
Date: Thu, 21 Oct 1999 10:54:33 -0400

On Thu, Oct 21, 1999 at 05:08:02AM -0700, Earnie Boyd wrote:
>--- Steve Jorgensen <[email-masked]> wrote:
>> 
>>I'm trying to port Khoros Pro 2001 to NT using cygwin, and am having a
>>problem with the mmap call.
>>
>>Khoros has a transport abstraction that makes using mmap, tcpip, file,
>>pipes, or memory all look like a standard unix file, allowing users to
>>use our k* file i/o calls to read and write to each different kind of
>>transport.  Anyway, the mmap transport, in order to avoid excessive
>>resizing, forces the underlying mmap'ed file to grow more than the
>>write call needs.  At close time, we ftruncate the file back to the
>>size it's supposed to be.  The problem is that ftruncate is returning
>>with an access error.  This works on all the unix systems we've ported
>>to.
>>
>>I've tried the ftruncate both before and after the munmap call with the
>>same results.  Any ideas what else I can try, or am I just out of luck?
>
>This is an issue with the underlying file system.  Assuming that it can
>be done, you must have all accesses to the file closed.  Win32 will not
>allow such changes to an open file, even if you are the one that has it
>open.  I think I remember that there is coding in cygwin to queue
>operations on a file that fail due to an open fd to the file, so this
>could be a bug in that related coding.

There is a queue but it is applicable only to unlinking files.

-chris

--
Want to unsubscribe from this list?
Send a message to [email-masked]