summaryrefslogtreecommitdiffstats
path: root/Modules/socketmodule.h
Commit message (Collapse)AuthorAgeFilesLines
* Major overhaul of timeout sockets:Guido van Rossum2002-06-131-3/+2
| | | | | | | | | | | | | | | | | | | | - setblocking(0) and settimeout(0) are now equivalent, and ditto for setblocking(1) and settimeout(None). - Don't raise an exception from internal_select(); let the final call report the error (this means you will get an EAGAIN error instead of an ETIMEDOUT error -- I don't care). - Move the select to inside the Py_{BEGIN,END}_ALLOW_THREADS brackets, so other theads can run (this was a bug in the original code). - Redid the retry logic in connect() and connect_ex() to avoid masking errors. This probably doesn't work for Windows yet; I'll fix that next. It may also fail on other platforms, depending on what retrying a connect does; I need help with this. - Get rid of the retry logic in accept(). I don't think it was needed at all. But I may be wrong.
* Repair a comment.Guido van Rossum2002-06-071-1/+1
|
* SF patch 555085 (timeout socket implementation) by Michael Gilfix.Guido van Rossum2002-06-061-0/+3
| | | | | | | | | | | | | I've made considerable changes to Michael's code, specifically to use the select() system call directly and to store the timeout as a C double instead of a Python object; internally, -1.0 (or anything negative) represents the None from the API. I'm not 100% sure that all corner cases are covered correctly, so please keep an eye on this. Next I'm going to try it Windows before Tim complains. No way is this a bugfix candidate. :-)
* Patch #520062: Support IPv6 with VC.NET.Martin v. Löwis2002-03-011-0/+10
|
* Add documentation about how the inter-module linking works.Marc-André Lemburg2002-02-251-1/+54
|
* Moved the declaration of PySocketSock_Type from socketmodule.h toTim Peters2002-02-171-7/+0
| | | | | | | | | | | | socketmodule.c. No code outside of the .c file references it, so it doesn't belong the .h file (at least not yet ...), and declaring it an imported symbol in the .h file can't be made to work on Windows (it's a cross-DLL symbol then) without substantial code rewriting. Also repaired the comment that goes along with the decl, to stop referring to names and functions that haven't existed for 7 years <wink>. socketmodule.c compiles cleanly on Windows again. The test_socket dies at once, though (later).
* For readability, switch to tab indents; was using a mix of tab indents,Tim Peters2002-02-171-35/+35
| | | | | 4-space indents, and ambiguous space+tab indents. Added an XXX comment about a confusing part. Still doesn't build on Windows.
* Break SSL support out of _socket module and place it into a newMarc-André Lemburg2002-02-161-0/+159
helper module _ssl. The support for the RAND_* APIs in _ssl is now only enabled for OpenSSL 0.9.5 and up since they were added in that release. Note that socketmodule.* should really be renamed to _socket.* -- unfortunately, this seems to lose the CVS history of the file. Please review and test... I was only able to test the header file chaos in socketmodule.c/h on Linux. The test run through fine and compiles don't give errors or warnings. WARNING: This patch does *not* include changes to the various non-Unix build process files.