Change in mncc-python[master]: mncc_sock.py: throw / raise exceptions from MnccSocket

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Sun Sep 30 10:22:11 UTC 2018


Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/11158


Change subject: mncc_sock.py: throw / raise exceptions from MnccSocket
......................................................................

mncc_sock.py: throw / raise exceptions from MnccSocket

Calling sys.exit() from MnccSocket's constructor could lead to
a situation when the main thread becomes "dead", while its child
threads are still working. Let's throw the exceptions towards
the caller, so it would be possible to handle them there.

Change-Id: I485eb86c69e74693eeae89723de27e376585f1da
---
M mncc_sock.py
1 file changed, 4 insertions(+), 12 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/mncc-python refs/changes/58/11158/1

diff --git a/mncc_sock.py b/mncc_sock.py
index e71a39a..0a64a81 100644
--- a/mncc_sock.py
+++ b/mncc_sock.py
@@ -10,7 +10,6 @@
 # option, any later version.
 
 import socket
-import sys
 import os
 import mncc
 import ctypes
@@ -122,11 +121,7 @@
         super(MnccSocketBase, self).__init__()
         self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_SEQPACKET)
         print('connecting to %s' % address)
-        try:
-            self.sock.connect(address)
-        except socket.error as errmsg:
-            sys.stderr.write("%s\n" % errmsg)
-            sys.exit(1)
+        self.sock.connect(address)
 
         # Check the HELLO message
         self.check_hello()
@@ -137,15 +132,13 @@
 
         # Match expected message type
         if msg.msg_type != mncc.MNCC_SOCKET_HELLO:
-            sys.stderr.write('Received an unknown (!= MNCC_SOCKET_HELLO) '
+            raise AssertionError('Received an unknown (!= MNCC_SOCKET_HELLO) '
                 'message: %s\n' % msg)
-            sys.exit(1)
 
         # Match expected protocol version
         if msg.version != mncc.MNCC_SOCK_VERSION:
-            sys.stderr.write('MNCC protocol version mismatch '
+            raise AssertionError('MNCC protocol version mismatch '
                 '(0x%04x vs 0x%04x)\n' % (msg.version, mncc.MNCC_SOCK_VERSION))
-            sys.exit(1)
 
         # Match expected message sizes / offsets
         if (msg.mncc_size != ctypes.sizeof(mncc.gsm_mncc) or
@@ -154,8 +147,7 @@
             msg.signal_offset != mncc.gsm_mncc.signal.offset or
             msg.emergency_offset != mncc.gsm_mncc.emergency.offset or
             msg.lchan_type_offset != mncc.gsm_mncc.lchan_type.offset):
-                sys.stderr.write('MNCC message alignment mismatch\n')
-                sys.exit(1)
+                raise AssertionError('MNCC message alignment mismatch\n')
 
         print('Received %s' % msg)
 

-- 
To view, visit https://gerrit.osmocom.org/11158
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: mncc-python
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I485eb86c69e74693eeae89723de27e376585f1da
Gerrit-Change-Number: 11158
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180930/30e86e3f/attachment.htm>


More information about the gerrit-log mailing list