diff sip-in/main.c @ 56:7005d5c535e8

sip-in: mtcall socket connection implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 08 Sep 2022 13:25:31 -0800
parents 62f39c7cee15
children 709b78a4ebf0
line wrap: on
line diff
--- a/sip-in/main.c	Thu Sep 08 12:58:03 2022 -0800
+++ b/sip-in/main.c	Thu Sep 08 13:25:31 2022 -0800
@@ -14,6 +14,7 @@
 #include <unistd.h>
 
 extern int mgw_socket, sip_socket;
+extern int gsm_socket, gsm_is_connected;
 
 static int max_fd;
 
@@ -56,6 +57,8 @@
 		FD_ZERO(&fds);
 		FD_SET(mgw_socket, &fds);
 		FD_SET(sip_socket, &fds);
+		if (gsm_is_connected)
+			FD_SET(gsm_socket, &fds);
 		rc = select(max_fd+1, &fds, 0, 0, 0);
 		if (rc < 0) {
 			if (errno == EINTR)
@@ -64,9 +67,11 @@
 			exit(1);
 		}
 		gettimeofday(&cur_event_time, 0);
+		if (gsm_is_connected && FD_ISSET(gsm_socket, &fds))
+			gsm_socket_select();
+		if (FD_ISSET(sip_socket, &fds))
+			sip_socket_select();
 		if (FD_ISSET(mgw_socket, &fds))
 			mgw_socket_select();
-		if (FD_ISSET(sip_socket, &fds))
-			sip_socket_select();
 	}
 }