Commit fbf0e481 authored by Jason Madden's avatar Jason Madden

Add support for recvmsg_into. Add changelog. Fixes #773.

parent 283b6fea
...@@ -26,6 +26,9 @@ ...@@ -26,6 +26,9 @@
``start_response`` do not contain a carriage return or newline in ``start_response`` do not contain a carriage return or newline in
order to prevent HTTP response splitting (header injection), raising order to prevent HTTP response splitting (header injection), raising
a :exc:`ValueError` if they do. See :issue:`775`. a :exc:`ValueError` if they do. See :issue:`775`.
- Python 3: Add support for :meth:`socket.socket.sendmsg`,
:meth:`socket.socket.recvmsg` and :meth:`socket.socket.recvmsg_into`
on platforms where they are defined. Initial :pr:`773` by Jakub Klama.
1.1.0 (Mar 5, 2016) 1.1.0 (Mar 5, 2016)
=================== ===================
......
...@@ -334,6 +334,15 @@ class socket(object): ...@@ -334,6 +334,15 @@ class socket(object):
raise raise
self._wait(self._read_event) self._wait(self._read_event)
def recvmsg_into(self, *args):
while True:
try:
return _socket.socket.recvmsg_into(self._sock, *args)
except error as ex:
if ex.args[0] != EWOULDBLOCK or self.timeout == 0.0:
raise
self._wait(self._read_event)
def recvfrom(self, *args): def recvfrom(self, *args):
while True: while True:
try: try:
......
...@@ -421,6 +421,7 @@ if sys.version_info[:2] >= (3, 4): ...@@ -421,6 +421,7 @@ if sys.version_info[:2] >= (3, 4):
'test_socket.InterruptedRecvTimeoutTest.testInterruptedSendTimeout', 'test_socket.InterruptedRecvTimeoutTest.testInterruptedSendTimeout',
'test_socket.InterruptedRecvTimeoutTest.testInterruptedSendtoTimeout', 'test_socket.InterruptedRecvTimeoutTest.testInterruptedSendtoTimeout',
'test_socket.InterruptedRecvTimeoutTest.testInterruptedRecvmsgTimeout', 'test_socket.InterruptedRecvTimeoutTest.testInterruptedRecvmsgTimeout',
'test_socket.InterruptedRecvTimeoutTest.testInterruptedRecvmsgIntoTimeout',
'test_socket.InterruptedSendTimeoutTest.testInterruptedSendmsgTimeout', 'test_socket.InterruptedSendTimeoutTest.testInterruptedSendmsgTimeout',
] ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment