.. versionchanged:: 3.10
``IP_RECVTOS`` was added.
+ Added ``TCP_KEEPALIVE``. On MacOS this constant can be used in the same
+ way that ``TCP_KEEPIDLE`` is used on Linux.
.. data:: AF_CAN
PF_CAN
sock.bind(("type", "n" * 64))
+@unittest.skipUnless(sys.platform == 'darwin', 'macOS specific test')
+class TestMacOSTCPFlags(unittest.TestCase):
+ def test_tcp_keepalive(self):
+ self.assertTrue(socket.TCP_KEEPALIVE)
+
+
@unittest.skipUnless(sys.platform.startswith("win"), "requires Windows")
class TestMSWindowsTCPFlags(unittest.TestCase):
knownTCPFlags = {
SendfileUsingSendfileTest,
])
tests.append(TestMSWindowsTCPFlags)
+ tests.append(TestMacOSTCPFlags)
thread_info = threading_helper.threading_setup()
support.run_unittest(*tests)
#endif
#ifdef TCP_KEEPIDLE
PyModule_AddIntMacro(m, TCP_KEEPIDLE);
+#endif
+ /* TCP_KEEPALIVE is OSX's TCP_KEEPIDLE equivalent */
+#if defined(__APPLE__) && defined(TCP_KEEPALIVE)
+ PyModule_AddIntMacro(m, TCP_KEEPALIVE);
#endif
#ifdef TCP_KEEPINTVL
PyModule_AddIntMacro(m, TCP_KEEPINTVL);