Skip to content

Commit 0424bc8

Browse files
fix: Move add_listener inside lock in register_flag_change_listener
Ensures both registration methods perform all tracker operations under the lock, preventing a race where unregister could miss a listener that hasn't been added to the tracker yet. Co-Authored-By: mkeeler@launchdarkly.com <keelerm84@gmail.com>
1 parent e21aa3d commit 0424bc8

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

contract-tests/flag_change_listener.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,9 @@ def on_flag_change(flag_change: FlagChange):
3636
if listener_id in self._listeners:
3737
self._tracker.remove_listener(self._listeners[listener_id])
3838

39+
self._tracker.add_listener(on_flag_change)
3940
self._listeners[listener_id] = on_flag_change
4041

41-
self._tracker.add_listener(on_flag_change)
42-
4342
def register_flag_value_change_listener(
4443
self,
4544
listener_id: str,

0 commit comments

Comments
 (0)