Skip to content

Commit f32e188

Browse files
authored
Merge pull request #431 from mdickinson/fix-heartbeat-bind-socket
Fix Heartbeat._bind_socket to return on the first successful bind.
2 parents 18f2ef7 + 154d49a commit f32e188

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

ipykernel/heartbeat.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ def _bind_socket(self):
8383
self.pick_port()
8484
else:
8585
raise
86+
else:
87+
return
8688

8789
def run(self):
8890
self.socket = self.context.socket(zmq.ROUTER)

ipykernel/tests/test_heartbeat.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,13 @@ def test_port_bind_failure_raises():
2121
assert mock_try_bind.call_count == 1
2222

2323

24+
def test_port_bind_success():
25+
heart = Heartbeat(None)
26+
with patch.object(heart, '_try_bind_socket') as mock_try_bind:
27+
heart._bind_socket()
28+
assert mock_try_bind.call_count == 1
29+
30+
2431
def test_port_bind_failure_recovery():
2532
try:
2633
errno.WSAEADDRINUSE

0 commit comments

Comments
 (0)