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);