mirror of https://github.com/python/cpython
Merged revisions 83461 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint ................ r83461 | georg.brandl | 2010-08-01 23:18:52 +0200 (So, 01 Aug 2010) | 9 lines Merged revisions 83201 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83201 | georg.brandl | 2010-07-28 10:19:35 +0200 (Mi, 28 Jul 2010) | 1 line #9354: Provide getsockopt() in asyncore file_wrapper(). Patch by Lukas Langa. ........ ................
This commit is contained in:
parent
6290bcfc25
commit
86edb14057
|
@ -594,6 +594,14 @@ if os.name == 'posix':
|
|||
def send(self, *args):
|
||||
return os.write(self.fd, *args)
|
||||
|
||||
def getsockopt(self, level, optname, buflen=None):
|
||||
if (level == socket.SOL_SOCKET and
|
||||
optname == socket.SO_ERROR and
|
||||
not buflen):
|
||||
return 0
|
||||
raise NotImplementedError("Only asyncore specific behaviour "
|
||||
"implemented.")
|
||||
|
||||
read = recv
|
||||
write = send
|
||||
|
||||
|
|
|
@ -412,6 +412,17 @@ if hasattr(asyncore, 'file_wrapper'):
|
|||
w.close()
|
||||
self.assertEqual(file(TESTFN).read(), self.d + d1 + d2)
|
||||
|
||||
def test_dispatcher(self):
|
||||
fd = os.open(TESTFN, os.O_RDONLY)
|
||||
data = []
|
||||
class FileDispatcher(asyncore.file_dispatcher):
|
||||
def handle_read(self):
|
||||
data.append(self.recv(29))
|
||||
s = FileDispatcher(fd)
|
||||
os.close(fd)
|
||||
asyncore.loop(timeout=0.01, use_poll=True, count=2)
|
||||
self.assertEqual("".join(data), self.d)
|
||||
|
||||
|
||||
def test_main():
|
||||
tests = [HelperFunctionTests, DispatcherTests, DispatcherWithSendTests,
|
||||
|
|
|
@ -407,6 +407,7 @@ Ivan Krstić
|
|||
Andrew Kuchling
|
||||
Vladimir Kushnir
|
||||
Cameron Laird
|
||||
Łukasz Langa
|
||||
Tino Lange
|
||||
Andrew Langmead
|
||||
Detlef Lannert
|
||||
|
|
Loading…
Reference in New Issue