From 5f5035dc285e8110aa01081e5e9cf6d11ec27e23 Mon Sep 17 00:00:00 2001 From: Technobly Date: Thu, 8 Oct 2015 19:11:30 -0500 Subject: [PATCH] reduce socketSetBlocking timout and let URCs recv --- hal/src/electron/modem/mdm_hal.cpp | 6 +++--- hal/src/electron/socket_hal.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hal/src/electron/modem/mdm_hal.cpp b/hal/src/electron/modem/mdm_hal.cpp index 447f0dc9af..135ed9a0b9 100644 --- a/hal/src/electron/modem/mdm_hal.cpp +++ b/hal/src/electron/modem/mdm_hal.cpp @@ -1105,7 +1105,7 @@ bool MDMParser::socketSetBlocking(int socket, system_tick_t timeout_ms) { bool ok = false; LOCK(); - DEBUG_D("socketSetBlocking(%d,%d)\r\n", socket,timeout_ms); + // DEBUG_D("socketSetBlocking(%d,%d)\r\n", socket,timeout_ms); if (ISSOCKET(socket)) { _sockets[socket].timeout_ms = timeout_ms; ok = true; @@ -1259,10 +1259,10 @@ int MDMParser::socketRecv(int socket, char* buf, int len) ok = true; } } else if (!TIMEOUT(start, _sockets[socket].timeout_ms)) { - //DEBUG_D("socketRecv: WAIT FOR URCs\r\n"); + // DEBUG_D("socketRecv: WAIT FOR URCs\r\n"); ok = (WAIT == waitFinalResp(NULL,NULL,0)); // wait for URCs } else { - DEBUG_D("socketRecv: TIMEOUT\r\n"); + // DEBUG_D("socketRecv: TIMEOUT\r\n"); len = 0; ok = true; } diff --git a/hal/src/electron/socket_hal.cpp b/hal/src/electron/socket_hal.cpp index e20373063f..6d480670bf 100644 --- a/hal/src/electron/socket_hal.cpp +++ b/hal/src/electron/socket_hal.cpp @@ -19,6 +19,7 @@ int32_t socket_connect(sock_handle_t sd, const sockaddr_t *addr, long addrlen) ElectronMDM::IP ip = IPADR(addr_data[2], addr_data[3], addr_data[4], addr_data[5]); electronMDM.socketSetBlocking(sd, 5000); bool result = electronMDM.socketConnect(sd, ip, port); + electronMDM.socketSetBlocking(sd, 0); return (result ? 0 : 1); } @@ -29,8 +30,7 @@ sock_result_t socket_reset_blocking_call() sock_result_t socket_receive(sock_handle_t sd, void* buffer, socklen_t len, system_tick_t _timeout) { - //electronMDM.socketSetBlocking(sd, _timeout); - electronMDM.socketSetBlocking(sd, 5000); // force a minimum 5 second timeout + electronMDM.socketSetBlocking(sd, _timeout); return electronMDM.socketRecv(sd, (char*)buffer, len); }