summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_Config.cpp
diff options
context:
space:
mode:
authorSkylar Chang <chiaweic@codeaurora.org>2013-12-05 01:15:22 -0800
committerSkylar Chang <chiaweic@codeaurora.org>2013-12-05 03:14:12 -0800
commit8dda3a941e3142152302ad69cca34eb6688a69db (patch)
treee729594f20187b10dd018741a556e081292505e8 /ipacm/src/IPACM_Config.cpp
parent6def9112f39584d86abb522b525a13e050f44f7f (diff)
downloadipacfg-mgr-8dda3a941e3142152302ad69cca34eb6688a69db.tar.gz
IPACM: fix file-descriptor not clean issue
fix the file descriptors are not clean issue in add/delete dependency functions Change-Id: I155bb443e319fbc56eec16025b9c2eff55faf609 Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Diffstat (limited to 'ipacm/src/IPACM_Config.cpp')
-rwxr-xr-x[-rw-r--r--]ipacm/src/IPACM_Config.cpp25
1 files changed, 7 insertions, 18 deletions
diff --git a/ipacm/src/IPACM_Config.cpp b/ipacm/src/IPACM_Config.cpp
index 0decb50..fd14ceb 100644..100755
--- a/ipacm/src/IPACM_Config.cpp
+++ b/ipacm/src/IPACM_Config.cpp
@@ -44,6 +44,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <fcntl.h>
IPACM_Config *IPACM_Config::pInstance = NULL;
+const char *IPACM_Config::DEVICE_NAME = "/dev/ipa";
IPACM_Config::IPACM_Config()
{
@@ -80,6 +81,12 @@ int IPACM_Config::Init(void)
uint32_t subnet_mask;
int i, ret = IPACM_SUCCESS;
+ m_fd = open(DEVICE_NAME, O_RDWR);
+ if (0 > m_fd)
+ {
+ IPACMERR("Failed opening %s.\n", DEVICE_NAME);
+ }
+
strncpy(IPACM_config_file, "/etc/IPACM_cfg.xml", sizeof(IPACM_config_file));
@@ -325,15 +332,7 @@ int IPACM_Config::DelNatIfaces(char *dev_name)
void IPACM_Config::AddRmDepend(ipa_rm_resource_name rm1,bool rx_bypass_ipa)
{
int retval = 0;
- int m_fd = 0; /* File descriptor of the IPA device node /dev/ipa */
struct ipa_ioc_rm_dependency dep;
- const char *DEVICE_NAME = "/dev/ipa";
-
- m_fd = open(DEVICE_NAME, O_RDWR);
- if (0 == m_fd)
- {
- IPACMERR("Failed opening %s.\n", DEVICE_NAME);
- }
/* ipa_rm_a2_check: IPA_RM_RESOURCE_A2_CONS*/
if(rm1 == IPA_RM_RESOURCE_A2_CONS)
@@ -434,7 +433,6 @@ void IPACM_Config::AddRmDepend(ipa_rm_resource_name rm1,bool rx_bypass_ipa)
}
}
-
return ;
}
@@ -444,15 +442,7 @@ void IPACM_Config::AddRmDepend(ipa_rm_resource_name rm1,bool rx_bypass_ipa)
void IPACM_Config::DelRmDepend(ipa_rm_resource_name rm1)
{
int retval = 0;
- int m_fd = 0; /* File descriptor of the IPA device node /dev/ipa */
struct ipa_ioc_rm_dependency dep;
- const char *DEVICE_NAME = "/dev/ipa";
-
- m_fd = open(DEVICE_NAME, O_RDWR);
- if (0 == m_fd)
- {
- IPACMERR("Failed opening %s.\n", DEVICE_NAME);
- }
/* ipa_rm_a2_check: IPA_RM_RESOURCE_A2_CONS*/
if(rm1 == IPA_RM_RESOURCE_A2_CONS)
@@ -548,6 +538,5 @@ void IPACM_Config::DelRmDepend(ipa_rm_resource_name rm1)
ipa_rm_tbl[i].consumer1_up = false;
}
}
-
return ;
}