diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2018-08-09 19:17:57 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2018-08-10 16:38:59 +0700 |
commit | bf6f6ec0defc2c82257c5305ae2b20ed5efa32f2 (patch) | |
tree | 7da15ae43cf2718c6f1a35ea165ea924a435b765 | |
parent | 8e1fa8bdd759899523d2714f79bb28ef4202b659 (diff) |
trx/udp_link.py: close socket in destructor
Previously it was required to call the UDPLink.shutdown() method
manually in order to close a socket. Let's do it automatically
using the destructor of UDPLink.
Cherry-picked from: I59c3dc61ec58cd9effeb789947d28fd602ca91f4
Change-Id: Ief7aa21d1e50682a90616833b679741957193aae
-rwxr-xr-x | apps/grgsm_trx | 1 | ||||
-rw-r--r-- | python/trx/ctrl_if_bb.py | 4 | ||||
-rw-r--r-- | python/trx/udp_link.py | 6 |
3 files changed, 3 insertions, 8 deletions
diff --git a/apps/grgsm_trx b/apps/grgsm_trx index b925fc1..668b0be 100755 --- a/apps/grgsm_trx +++ b/apps/grgsm_trx @@ -83,7 +83,6 @@ class Application: def shutdown(self): print("[i] Shutting down...") - self.server.shutdown() self.radio.shutdown() def print_copyright(self): diff --git a/python/trx/ctrl_if_bb.py b/python/trx/ctrl_if_bb.py index 5874e59..7886e23 100644 --- a/python/trx/ctrl_if_bb.py +++ b/python/trx/ctrl_if_bb.py @@ -35,10 +35,6 @@ class ctrl_if_bb(ctrl_if): # Power measurement self.pm = pm - def shutdown(self): - print("[i] Shutdown CTRL interface") - ctrl_if.shutdown(self) - def parse_cmd(self, request): # Power control if self.verify_cmd(request, "POWERON", 0): diff --git a/python/trx/udp_link.py b/python/trx/udp_link.py index 675ef5c..cedcb1b 100644 --- a/python/trx/udp_link.py +++ b/python/trx/udp_link.py @@ -35,6 +35,9 @@ class udp_link: self.remote_addr = remote_addr self.remote_port = remote_port + def __del__(self): + self.sock.close() + def loop(self): r_event, w_event, x_event = select.select([self.sock], [], []) @@ -43,9 +46,6 @@ class udp_link: data, addr = self.sock.recvfrom(128) self.handle_rx(data.decode()) - def shutdown(self): - self.sock.close(); - def send(self, data): if type(data) not in [bytearray, bytes]: data = data.encode() |