Commit graph

660 commits

Author SHA1 Message Date
Victor Stinner
391fa713f7 Issue #23618: Refactor the _socket module
* Inline internal_select() function
* Rename internal_select_ex() internal_select()
2015-03-31 13:15:31 +02:00
Victor Stinner
869e1778c0 Issue #22117: Replace usage of _PyTime_ROUND_UP with _PyTime_ROUND_CEILING
All these functions only accept positive timeouts, so this change has no effect
in practice.
2015-03-30 03:49:14 +02:00
Victor Stinner
ea9c0dd2c2 Issue #22117: Fix usage of _PyTime_AsTimeval()
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or
not useful) to raise a Python exception on overflow.
2015-03-30 02:51:13 +02:00
Victor Stinner
71694d5c8c Issue #22117: The socket module uses _PyTime_t timestamp for timeouts 2015-03-28 01:18:54 +01:00
Victor Stinner
b7df3144ef Issue #23618, #22117: refactor socketmodule.c
Move Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS inside internal_select_ex() to
prepare a switch to the _PyTime_t type and retry syscall on EINTR.
2015-03-27 22:59:32 +01:00
Victor Stinner
f50e187724 Fix compiler warnings: comparison between signed and unsigned numbers 2015-03-20 11:32:24 +01:00
Serhiy Storchaka
8490f5acfe Issue #23001: Few functions in modules mmap, ossaudiodev, socket, ssl, and
codecs, that accepted only read-only bytes-like object now accept writable
bytes-like object too.
2015-03-20 09:00:36 +02:00
Victor Stinner
9a8089b32a Issue #23646: Enhance precision of time.sleep() and socket timeout when
interrupted by a signal

Add a new _PyTime_AddDouble() function and remove _PyTime_ADD_SECONDS() macro.
The _PyTime_ADD_SECONDS only supported an integer number of seconds, the
_PyTime_AddDouble() has subsecond resolution.
2015-03-20 01:42:20 +01:00
Serhiy Storchaka
caa01f861c Fixed GCC version testing. 2015-03-05 23:42:24 +02:00
Victor Stinner
a4c727131e Fix "GCC diagnostic" in socketmodule.c
Fix regression of changeset 7c6e3358221a on GCC < 4.4. The _socket module
cannot be compiled on "x86 FreeBSD 7.2 3.x" buildbot anymore.
2015-03-05 14:04:03 +01:00
Serhiy Storchaka
b48af340b9 Silenced minor GCC warnings. 2015-02-26 15:27:57 +02:00
Serhiy Storchaka
4d0d982985 Issue #23446: Use PyMem_New instead of PyMem_Malloc to avoid possible integer
overflows.  Added few missed PyErr_NoMemory().
2015-02-16 13:33:32 +02:00
Serhiy Storchaka
1a1ff29659 Issue #23446: Use PyMem_New instead of PyMem_Malloc to avoid possible integer
overflows.  Added few missed PyErr_NoMemory().
2015-02-16 13:28:22 +02:00
Charles-François Natali
6e6c59b508 Issue #23285: PEP 475 -- Retry system calls failing with EINTR. 2015-02-07 13:27:50 +00:00
Serhiy Storchaka
b757c83ec6 Issue #22581: Use more "bytes-like object" throughout the docs and comments. 2014-12-05 22:25:22 +02:00
Steve Dower
65e4cb10d9 Issue #22919: Windows build updated to support VC 14.0 (Visual Studio 2015), which will be used for the official 3.5 release. 2014-11-22 12:54:57 -08:00
Serhiy Storchaka
92bf919ed0 Issue #22581: Use more "bytes-like object" throughout the docs and comments. 2014-12-05 22:26:10 +02:00
Charles-François Natali
ea07eb9469 Issue #22378: socket module: add SO_MARK. 2014-09-18 23:18:46 +01:00
Serhiy Storchaka
d8a1447c99 Issue #22215: Now ValueError is raised instead of TypeError when str or bytes
argument contains not permitted null character or byte.
2014-09-06 20:07:17 +03:00
Victor Stinner
ae58649721 Issue #22043: time.monotonic() is now always available
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now
use a monotonic clock, instead of the system clock, when a timeout is used.
2014-09-02 23:18:25 +02:00
Victor Stinner
1a62a680d6 Issue #22218: Fix "comparison between signed and unsigned integers" warnings in
socketmodule.c.
2014-08-17 19:33:28 +02:00
Martin v. Löwis
17fd1e1013 Issue #22127: fix typo. 2014-08-05 16:13:50 +02:00
Martin v. Löwis
eb1c28a849 Issue #22127: Bypass IDNA for pure-ASCII host names (in particular for numeric IPs). 2014-08-05 16:10:38 +02:00
Victor Stinner
011428e168 (Merge 3.4) Fix repr(_socket.socket) on Windows 64-bit: don't fail with
OverflowError on closed socket. repr(socket.socket) already works fine.
2014-07-26 14:37:57 +02:00
Victor Stinner
e254e53c83 Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError
on closed socket. repr(socket.socket) already works fine.
2014-07-26 14:36:55 +02:00
Victor Stinner
b6dab6bce8 Issue #22042: Avoid dangerous C cast in socket.setblocking()
Avoid cast from (int*) to (u_long*), even if sizeof(int) == sizeof(u_long).
2014-07-23 22:56:55 +02:00
Berker Peksag
d9375f121e Fix typo in socket.getaddrinfo() docstring.
Reported by Krishna Kumar Thakur on docs@.
2014-06-30 11:30:00 +03:00
Berker Peksag
a6ec5ee3c8 Fix typo in socket.getaddrinfo() docstring.
Reported by Krishna Kumar Thakur on docs@.
2014-06-30 11:28:40 +03:00
Victor Stinner
8e44aa5ae4 Issue #23834: Fix socket.sendto(), use the C Py_ssize_t type to store the
result of sendto() instead of the C int type.
2015-04-02 17:16:08 +02:00
Victor Stinner
ef7f140366 All modern compilers provide a offsetof() function
offsetof() is used directly in many other .c files without any issue.
2014-06-03 18:45:05 +02:00
Charles-François Natali
644b8f52a8 Issue #21455: Add a default backlog to socket.listen(). 2014-05-22 19:45:39 +01:00
Vinay Sajip
ed6783f315 Issue #10141, Issue 20065: Changed #if to take CAN_RAW into account. 2014-03-21 11:44:32 +00:00
Vinay Sajip
ecfc98c67b Issue #10141: updated new usages of AF_CAN to be in #ifdef AF_CAN rather than #ifdef HAVE_LINUX_CAN_H to allow compilation on older Linuxes. 2014-03-20 12:42:42 +00:00
Charles-François Natali
4025ac7549 Issue #20065: socketmodule: Fix build error when AF_CAN is defined without the
proper CAN headers.
2014-02-08 22:54:48 +01:00
Charles-François Natali
b4062e8f8a Issue #20065: socketmodule: Fix build error when AF_CAN is defined without the
proper CAN headers.
2014-02-08 22:54:11 +01:00
Benjamin Peterson
901acb4d89 merge 3.3 (#20251) 2014-01-14 00:22:50 -05:00
Benjamin Peterson
a677d7628b remove overly strict assertion (closes #20251) 2014-01-14 00:21:49 -05:00
Benjamin Peterson
c6b37e21f5 merge 3.3 (#20246) 2014-01-13 23:14:42 -05:00
Benjamin Peterson
5688222907 merge 3.2 (#20246) 2014-01-13 23:12:55 -05:00
Benjamin Peterson
fbf648ebba complain when nbytes > buflen to fix possible buffer overflow (closes #20246) 2014-01-13 22:59:38 -05:00
Brett Cannon
b05cbe61b3 Issue #12837: Silence a Clang compiler warning on OS X.
Now makes CPython build without warnings on OS X under Clang with
-Wno-unused-value -Wno-empty-body -Qunused-arguments
-Wno-deprecated-declarations.

Thanks to David Watson for taking an initial stab at a solution.
2014-01-07 17:01:01 -05:00
Christian Heimes
af01f66817 Issue #16136: Remove VMS support and VMS-related code 2013-12-21 16:19:10 +01:00
Guido van Rossum
638aebd58e Fix broken docstring continuation line for detach(). 2013-12-04 11:50:09 -08:00
Victor Stinner
9a954838ab Close #19827: On UNIX, setblocking() and settimeout() methods of socket.socket
can now avoid a second syscall if the ioctl() function can be used, or if the
non-blocking flag of the socket is unchanged.
2013-12-04 00:41:24 +01:00
Benjamin Peterson
1314ef73d0 add SO_PRIORITY (closes #19802)
Patch by Claudiu Popa.
2013-11-27 09:18:54 -06:00
Victor Stinner
e990c6e952 Fix sock_recvfrom_guts(): recvfrom() size is limited to an int on Windows, not
on other OSes!
2013-11-16 00:18:58 +01:00
Jason R. Coombs
8ec784c2df Issue #7171: Update syntax to replace MAX in favor of Py_MAX (matching implementation for Unix). 2013-11-10 13:43:22 -05:00
Serhiy Storchaka
9594942716 Issue #18783: Removed existing mentions of Python long type in docstrings,
error messages and comments.
2013-08-27 19:40:23 +03:00
Christian Heimes
9228837e31 Issue #18549: Eliminate dead code in socket_ntohl().
CID 982369
2013-07-25 11:46:10 +02:00
Christian Heimes
d2774c7d09 Issue #18259: Declare sethostname in socketmodule.c for AIX 2013-06-19 02:06:29 +02:00