StatsD_Checker: Check f_IPL4_listen result
Change-Id: Ief4e30ae92b8567dd9618064220f9f50df2d0de0
diff --git a/library/StatsD_Checker.ttcn b/library/StatsD_Checker.ttcn
index d287b74..540e479 100644
--- a/library/StatsD_Checker.ttcn
+++ b/library/StatsD_Checker.ttcn
@@ -25,6 +25,9 @@
* SPDX-License-Identifier: GPL-2.0-or-later
*/
+import from Misc_Helpers all;
+import from Socket_API_Definitions all;
+
import from StatsD_Types all;
import from StatsD_CodecPort all;
import from StatsD_CodecPort_CtrlFunct all;
@@ -90,6 +93,7 @@
function main(charstring statsd_host, integer statsd_port) runs on StatsD_Checker_CT {
var StatsD_ConnHdlr vc_conn;
var StatsDExpects expects;
+ var Result res;
while (not mp_enable_stats) {
log("StatsD checker disabled by modulepar");
@@ -97,7 +101,11 @@
}
map(self:STATS, system:STATS);
- StatsD_CodecPort_CtrlFunct.f_IPL4_listen(STATS, statsd_host, statsd_port, { udp := {} }, {});
+ res := StatsD_CodecPort_CtrlFunct.f_IPL4_listen(STATS, statsd_host, statsd_port, { udp := {} }, {});
+ if (not ispresent(res.connId)) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+ "Could not bind StatsD socket, check your configuration");
+ }
/* Connect to VTY and reset stats */
map(self:STATSVTY, system:STATSVTY);