Bugs item #728515, was opened at 2003-04-27 17:44
Message generated for change (Settings changed) made by gbrandl
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=728515&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Extension Modules
Group: Python 2.4
Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: Myers Carpenter (myers_carpenter)
>Assigned to: Georg Brandl (gbrandl)
>Summary: mmap\'s resize method resizes the file in win32 but not unix

Initial Comment:
In the resize method under win32 you have something
like this:

        /* Move to the desired EOF position */
        SetFilePointer (self->file_handle,
                new_size, NULL, FILE_BEGIN);
        /* Change the size of the file */
        SetEndOfFile (self->file_handle);

Which resizes the file

Under Unix you need to call 

   ftruncate(self->fileno, new_size)

before calling remap() to make it do the same thing.


----------------------------------------------------------------------

Comment By: Georg Brandl (birkenfeld)
Date: 2005-08-24 07:19

Message:
Logged In: YES 
user_id=1188172

Okay, committed as
Modules/mmapmodule.c; 2.50; 2.48.4.1
Lib/test/test_mmap.py; 1.33; 1.30.18.1
Doc/lib/libmmap.tex; 1.12; 1.9.4.2


----------------------------------------------------------------------

Comment By: Georg Brandl (birkenfeld)
Date: 2005-06-03 20:50

Message:
Logged In: YES 
user_id=1188172

Attaching patch which duplicates the file handle under UNIX
too (btw, the size() method was broken too), mimics Windows
behaviour with resize(), adds a testcase for this and
clarifies the docs.

----------------------------------------------------------------------

Comment By: Georg Brandl (birkenfeld)
Date: 2005-06-03 20:12

Message:
Logged In: YES 
user_id=1188172

This is not trivial since the filehandle can be closed at
the time the ftruncate() would be necessary.

The Windows specific code duplicates the filehandle upon
mmap creation, perhaps the UNIX code should do this too?
Then, the ftruncate call can be inserted.

----------------------------------------------------------------------

Comment By: Facundo Batista (facundobatista)
Date: 2005-05-30 23:51

Message:
Logged In: YES 
user_id=752496

Reopened as posted that still is a bug.

----------------------------------------------------------------------

Comment By: Josiah Carlson (josiahcarlson)
Date: 2005-05-30 23:32

Message:
Logged In: YES 
user_id=341410

The problem still persists in Python 2.3 and 2.4.  A quick
read of mmapmodule.c shows that ftruncate() is not being
called within the non-windows portion of mmap_resize_method().

----------------------------------------------------------------------

Comment By: Facundo Batista (facundobatista)
Date: 2005-05-30 18:59

Message:
Logged In: YES 
user_id=752496

Deprecated. Reopen only if still happens in 2.3 or newer. 

.    Facundo

----------------------------------------------------------------------

Comment By: Facundo Batista (facundobatista)
Date: 2005-01-15 17:55

Message:
Logged In: YES 
user_id=752496

Please, could you verify if this problem persists in Python 2.3.4
or 2.4?

If yes, in which version? Can you provide a test case?

If the problem is solved, from which version?

Note that if you fail to answer in one month, I'll close this bug
as "Won't fix".

Thank you! 

.    Facundo

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2003-05-04 12:36

Message:
Logged In: YES 
user_id=21627

Would you like to contribute a patch? Please make sure to
include changes to the documentation and test suite.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=728515&group_id=5470
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to