From b639c4f1420e5412956df8c8cf40e93d8b7db8a4 Mon Sep 17 00:00:00 2001 From: Tim Kourt Date: Fri, 16 Oct 2015 10:25:50 -0700 Subject: [PATCH] Fix for IOT-813 (High Battery Consumption) Change-Id: Ifd4692074430e45b935e0b9c6b6fa4b41a9951f0 Signed-off-by: Tim Kourt Reviewed-on: https://gerrit.iotivity.org/gerrit/3901 Tested-by: jenkins-iotivity Reviewed-by: jihwan seo Reviewed-by: Jon A. Cruz --- resource/csdk/connectivity/src/ip_adapter/caipserver.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/resource/csdk/connectivity/src/ip_adapter/caipserver.c b/resource/csdk/connectivity/src/ip_adapter/caipserver.c index 5dd5b87..e5db106 100644 --- a/resource/csdk/connectivity/src/ip_adapter/caipserver.c +++ b/resource/csdk/connectivity/src/ip_adapter/caipserver.c @@ -120,7 +120,6 @@ static void CAReceiveHandler(void *data) { (void)data; OIC_LOG(DEBUG, TAG, "IN"); - while (!caglobals.ip.terminate) { CAFindReadyMessage(); @@ -196,8 +195,10 @@ static void CASelectReturned(fd_set *readFds, int ret) CAHandleNetlink(); break; } - else + else if (FD_ISSET(caglobals.ip.shutdownFds[0], readFds)) { + char buf[10] = {0}; + (void)read(caglobals.ip.shutdownFds[0], buf, sizeof (buf)); CAInterface_t *ifchanged = CAFindInterfaceChange(); if (ifchanged) { @@ -206,6 +207,10 @@ static void CASelectReturned(fd_set *readFds, int ret) } break; } + else + { + break; + } (void)CAReceiveMessage(fd, flags); FD_CLR(fd, readFds); @@ -667,6 +672,7 @@ static void applyMulticastToInterface6(uint32_t interface) //applyMulticast6(caglobals.ip.m6.fd, &IPv6MulticastAddressSit, interface); //applyMulticast6(caglobals.ip.m6.fd, &IPv6MulticastAddressOrg, interface); //applyMulticast6(caglobals.ip.m6.fd, &IPv6MulticastAddressGlb, interface); + //applyMulticast6(caglobals.ip.m6s.fd, &IPv6MulticastAddressInt, interface); applyMulticast6(caglobals.ip.m6s.fd, &IPv6MulticastAddressLnk, interface); //applyMulticast6(caglobals.ip.m6s.fd, &IPv6MulticastAddressRlm, interface); -- 2.7.4