diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-08-09 13:45:55 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-08-13 07:51:58 +0000 |
commit | 58603671c21b0af30d0d52fec862c5843c6e50d0 (patch) | |
tree | cb7f8b4fb0fca3e7895d8ffcab8c8a3cf91d1537 /src/osmo_gsm_tester/event_loop.py | |
parent | 6caa5c11674d8b0041939b3488c8d9a517edc805 (diff) |
Cleanup of class scoped variables
After bug described in OS#3456 and fixed in last commit, let's
categorize and place variables in its correct plac to avoid similar
issus. We leave under the class keyword (class scoped variables) the
attributes which are to be used as static class attributes. All other
ones are initialized during __init__(). This way w avoid scenarios in
which while using an object from an instance attribute we end up reading
a class scoped variable which is shared among all instances.
Change-Id: I5ad4cac34a9f49eaf42966c01c9c5a4d3f3e9dc8
Diffstat (limited to 'src/osmo_gsm_tester/event_loop.py')
-rw-r--r-- | src/osmo_gsm_tester/event_loop.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/osmo_gsm_tester/event_loop.py b/src/osmo_gsm_tester/event_loop.py index 0f647c2..fe88ef4 100644 --- a/src/osmo_gsm_tester/event_loop.py +++ b/src/osmo_gsm_tester/event_loop.py @@ -23,10 +23,12 @@ from gi.repository import GLib, GObject from . import log class DeferredHandling: - defer_queue = [] + + def __init__(self): + self.defer_queue = [] def handle_queue(self): - while DeferredHandling.defer_queue: + while self.defer_queue: handler, args, kwargs = self.defer_queue.pop(0) handler(*args, **kwargs) @@ -34,10 +36,10 @@ class DeferredHandling: self.defer_queue.append((handler, args, kwargs)) class WaitRequest: - timeout_ack = False - condition_ack = False def __init__(self, condition, condition_args, condition_kwargs, timeout, timestep): + self.timeout_ack = False + self.condition_ack = False self.timeout_started = time.time() self.timeout = timeout self.condition = condition @@ -53,12 +55,9 @@ class WaitRequest: self.timeout_ack = True class EventLoop: - poll_funcs = [] - gloop = None - gctx = None - deferred_handling = None def __init__(self): + self.poll_funcs = [] self.gloop = GLib.MainLoop() self.gctx = self.gloop.get_context() self.deferred_handling = DeferredHandling() |