mirror of
https://github.com/python/cpython.git
synced 2025-12-10 19:10:59 +00:00
Fix for two problems on FreeBSD:
In test_poll1(), unregister file descriptors as they're closed,
and also close the read end of the pipe
In test_poll2(), make the code assume less about the combinations of flag
bits that will be returned
This commit is contained in:
parent
78430b655f
commit
d50a1877ee
1 changed files with 6 additions and 3 deletions
|
|
@ -57,7 +57,9 @@ def test_poll1():
|
||||||
buf = os.read(rd, MSG_LEN)
|
buf = os.read(rd, MSG_LEN)
|
||||||
assert len(buf) == MSG_LEN
|
assert len(buf) == MSG_LEN
|
||||||
print buf
|
print buf
|
||||||
os.close(r2w[rd])
|
os.close(r2w[rd]) ; os.close( rd )
|
||||||
|
p.unregister( r2w[rd] )
|
||||||
|
p.unregister( rd )
|
||||||
writers.remove(r2w[rd])
|
writers.remove(r2w[rd])
|
||||||
|
|
||||||
poll_unit_tests()
|
poll_unit_tests()
|
||||||
|
|
@ -145,13 +147,14 @@ def test_poll2():
|
||||||
fdlist = pollster.poll(tout)
|
fdlist = pollster.poll(tout)
|
||||||
if (fdlist == []):
|
if (fdlist == []):
|
||||||
continue
|
continue
|
||||||
if fdlist[0] == (p.fileno(),select.POLLHUP):
|
fd, flags = fdlist[0]
|
||||||
|
if flags & select.POLLHUP:
|
||||||
line = p.readline()
|
line = p.readline()
|
||||||
if line != "":
|
if line != "":
|
||||||
print 'error: pipe seems to be closed, but still returns data'
|
print 'error: pipe seems to be closed, but still returns data'
|
||||||
continue
|
continue
|
||||||
|
|
||||||
elif fdlist[0] == (p.fileno(),select.POLLIN):
|
elif flags & select.POLLIN:
|
||||||
line = p.readline()
|
line = p.readline()
|
||||||
if verbose:
|
if verbose:
|
||||||
print `line`
|
print `line`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue