Add sendall() method, which loops until all data is written or an
error occurs, and doesn't return a count. (This is my second patch
from SF patch #474307, with small change to the docstring for send().)
the 'partial' is because 1.188 also added a couple of Py_*_ALLOW_THREADS
wrappers around SSL_read and SSL_write, and I want to check those separately.
This is adding a new method to the socket object, which would normally
be a bad thing to do in a bugfix release - however, in this case, it
allows fixes for a nasty problem that would otherwise have a filthy
filthy fix to Get It Right. Still to-do is to patch the std library
modules to use sendall() where appropriate, rather than send().
Test for __sun instead of __sun__, since SUNWspro only defines the latter;
gcc defines both.
...must get sparc box at home out of cupboard for testing this stuff...
Use PySocket_Err() instead of PyErr_SetFromErrno().
The former does the right thing on Windows, the latter does not.
The 'partial' is because the code's changed quite a lot and it's not clear
that the two that are still there of the form
return PyErr_SetFromErrno(SSLErrorObject);
can be replaced with PySocket_Err() - it looks like they need the new
PySSL_SetError, which is a tad large to be comfortable with just checking
in without reading it further.
Make clear in the docstring that "std" applies to both size and alignment,
not just to alignment. Spotted by Guido.
not normally bothering with docstring cleanups, but in this case Tim _did_
note it as a bugfix candidate, so I'll be nice :)
SF patch #459385 (Norman Vine): time.timezone fix for Cygwin.
(skipped whitespace normalisation section of patch - this is a bugfix,
not a beauty contest :)
Change the limit on the input size for b2a_base64 to what will fit in
memory, rather than the standard's 57.
This fixes SF bug #473009.
This closes bug #430849 (internal error produced by binascii.a2b_base64)
[Bug #438050]
Include sys/poll.h if it was found by the configure script. The OpenGroup
spec says poll.h is the correct header file to use, so that file is
preferred.
Check for slice/item deletion, which calls slice/item assignment with a NULL
value, and raise a TypeError instead of coredumping. Bugreport and suggested
fix by Alex Martelli.
- SF but #417587: compiler warnings compiling 2.1.
Repaired *some* of the SGI compiler warnings Sjoerd Mullender
reported.
- Minor fiddling related to
SF patch 416251 2.1c1 mmapmodule: unused vrbl cleanup
- Fix the .find() method for memory maps.
1) it didn't obey the "start" parameter (and when it does, we must
validate the value)
2) the return value needs to be an absolute index, rather than
relative to some arbitrary point in the file
(checking CVS, it appears this method never worked; these changes
bring it into line with typical .find() behavior)
- Fix new compiler warnings. Also boost "start" from (C) int to long and
return a (C) long: PyArg_ParseTuple and Py_BuildValue may not let
us get at the size_t we really want, but C int is clearly too small
for a 64-bit box, and both the start parameter and the return value
should work for large mapped files even on 32-bit boxes. The code
really needs to be rethought from scratch (not by me, though ...).
Also note that it isn't just Linux nice() that is broken: at least FreeBSD
and BSDI also have this problem. os.nice() should probably just be emulated
using getpriority()/setpriority(), if they are available, but that isn't
worth putting in 2.1.1.
readline.c (2.36), and re-generated config.h.in and configure:
SF Patch #432457 by Jason Tishler: support for readline 4.2.
This patch allows the readline module to build cleanly with GNU
readline 4.2 without breaking the build for earlier GNU readline
versions. The configure script checks for the presence of
rl_completion_matches in libreadline.