socket.ioctl is only available on Windows
diff --git a/Lib/socket.py b/Lib/socket.py
index 7ce2869..6b4b743 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -141,7 +141,10 @@
'bind', 'connect', 'connect_ex', 'fileno', 'listen',
'getpeername', 'getsockname', 'getsockopt', 'setsockopt',
'sendall', 'setblocking',
- 'settimeout', 'gettimeout', 'shutdown', 'ioctl')
+ 'settimeout', 'gettimeout', 'shutdown')
+
+if os.name == "nt":
+ _socketmethods = _socketmethods + ('ioctl',)
if sys.platform == "riscos":
_socketmethods = _socketmethods + ('sleeptaskw',)
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 3e2d04c..8f69a40 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -9,6 +9,7 @@
import thread, threading
import Queue
import sys
+import os
import array
from weakref import proxy
import signal
@@ -500,6 +501,15 @@
self.assertEqual(sock.proto, 0)
sock.close()
+ def test_sock_ioctl(self):
+ if os.name != "nt":
+ return
+ self.assert_(hasattr(socket.socket, 'ioctl'))
+ self.assert_(hasattr(socket, 'SIO_RCVALL'))
+ self.assert_(hasattr(socket, 'RCVALL_ON'))
+ self.assert_(hasattr(socket, 'RCVALL_OFF'))
+
+
class BasicTCPTest(SocketConnectedTest):
def __init__(self, methodName='runTest'):