- 23 Mar, 2002 11 commits
-
-
Tim Peters authored
When WITH_PYMALLOC is defined, define PYMALLOC_DEBUG to enable the debug allocator. This can be done independent of build type (release or debug). A debug build automatically defines PYMALLOC_DEBUG when pymalloc is enabled. It's a detected error to define PYMALLOC_DEBUG when pymalloc isn't enabled. Two debugging entry points defined only under PYMALLOC_DEBUG: + _PyMalloc_DebugCheckAddress(const void *p) can be used (e.g., from gdb) to sanity-check a memory block obtained from pymalloc. It sprays info to stderr (see next) and dies via Py_FatalError if the block is detectably damaged. + _PyMalloc_DebugDumpAddress(const void *p) can be used to spray info about a debug memory block to stderr. A tiny start at implementing "API family" checks isn't good for anything yet. _PyMalloc_DebugRealloc() has been optimized to do little when the new size is <= old size. However, if the new size is larger, it really can't call the underlying realloc() routine without either violating its contract, or knowing something non-trivial about how the underlying realloc() works. A memcpy is always done in this case. This was a disaster for (and only) one of the std tests: test_bufio creates single text file lines up to a million characters long. On Windows, fileobject.c's get_line() uses the horridly funky getline_via_fgets(), which keeps growing and growing a string object hoping to find a newline. It grew the string object 1000 bytes each time, so for a million-character string it took approximately forever (I gave up after a few minutes). So, also: fileobject.c, getline_via_fgets(): When a single line is outrageously long, grow the string object at a mildly exponential rate, instead of just 1000 bytes at a time. That's enough so that a debug-build test_bufio finishes in about 5 seconds on my Win98SE box. I'm curious to try this on Win2K, because it has very different memory behavior than Win9X, and test_bufio always took a factor of 10 longer to complete on Win2K. It *could* be that the endless reallocs were simply killing it on Win2K even in the release build.
-
Skip Montanaro authored
getuid or getpid. posix_getuid & posix_getpid never raise exceptions when called with no args.
-
Skip Montanaro authored
-
Skip Montanaro authored
-
Skip Montanaro authored
-
Skip Montanaro authored
converted to use unittest
-
Skip Montanaro authored
-
Tim Peters authored
One more time on this turkey, but duller instead of cleverer. Curious: The docs say __getslice__ has been deprecated since 2.0, but list.__getitem__ still doesn't work if you pass it a slice. This makes it a lot clearer to emulate a list by *being* a list <wink>. Bugfix candidate. Michael, just pile this patch on top of the others that went by -- no need to try to pick these apart.
-
Neil Schemenauer authored
-
Tim Peters authored
-
Tim Peters authored
Also move all _PyMalloc_XXX entry points into obmalloc.c. The Windows build works fine. The Unix build is changed here (Makefile.pre.in), but not tested. No other platform's build process has been fiddled.
-
- 22 Mar, 2002 25 commits
-
-
Neil Schemenauer authored
statement.
-
Neil Schemenauer authored
-
Neil Schemenauer authored
by a future statement.
-
Neil Schemenauer authored
-
Neil Schemenauer authored
-
Neil Schemenauer authored
-
Neil Schemenauer authored
-
Neil Schemenauer authored
-
Skip Montanaro authored
Michael: use this version as the bugfix candidate...
-
Skip Montanaro authored
is always 0. This closes bug #533234.
-
Walter Dörwald authored
and remove the unneccessary "import stat" statement.
-
Fred Drake authored
to crash. The user has reported the problem to Opera, but we still should generate something that passes for HTML.
-
Neil Schemenauer authored
-
Neil Schemenauer authored
-
Andrew M. Kuchling authored
.compile to be None, and set it to true if it is. Caught by Pearu Peterson. Bugfix candidate, if the previous change is accepted for release22-maint.
-
Neil Schemenauer authored
-
Neil Schemenauer authored
-
Neil Schemenauer authored
available even if pymalloc is disabled since extension modules might use them.
-
Neil Schemenauer authored
and not pymalloc. Add the functions PyMalloc_New, PyMalloc_NewVar, and PyMalloc_Del that will use pymalloc if it's enabled. If pymalloc is not enabled then they use the standard malloc (PyMem_*).
-
Jack Jansen authored
don't cause import failure. Fixes 531398, 2.2.1 candidate.
-
Jack Jansen authored
- forgot to pass libraryflags and stdlibraryflags on to ppc/carbon project generation. First half of fix to 531398.
-
Tim Peters authored
-
Andrew M. Kuchling authored
-
Tim Peters authored
Konrad was too kind. Not only did it raise an exception, the specific exception it raised made no sense. These are old bugs in complex_pow() and friends: 1. Raising 0 to a negative power isn't a range error, it's a domain error, so changed c_pow() to set errno to EDOM in that case instead of ERANGE. 2. Changed complex_pow() to: A. Used the Py_ADJUST_ERANGE2 macro to try to clear errno of a spurious ERANGE error due to underflow in the libm pow() called by c_pow(). B. Produced different exceptions depending on the errno value: i) For errno==EDOM, raise ZeroDivisionError instead of ValueError. This is for consistency with the non-complex cases 0.0**-2 and 0**-2 and 0L**-2. ii) For errno==ERANGE, raise OverflowError. Bugfix candidate.
-
Andrew M. Kuchling authored
* 'macdef' (macro definition) wasn't parsed correctly * account value not reset for a subsequent 'default' line * typo: 'whitepace' -> 'whitespace' Bugfix candidate.
-
- 21 Mar, 2002 4 commits
-
-
Andrew M. Kuchling authored
Bugfix candidate.
-
Andrew M. Kuchling authored
Remove unused no_compile flag Initialize the Boolean attribute .compile to 0 instead of None Bugfix candidate.
-
Andrew M. Kuchling authored
got this right? Bugfix candidate, unless Thomas notes a problem.
-
Andrew M. Kuchling authored
(Someone should check the other commands for this same error.) Bugfix candidate.
-