diff options
author | Skylar Chang <chiaweic@codeaurora.org> | 2013-12-05 01:15:22 -0800 |
---|---|---|
committer | Skylar Chang <chiaweic@codeaurora.org> | 2013-12-05 03:14:12 -0800 |
commit | 8dda3a941e3142152302ad69cca34eb6688a69db (patch) | |
tree | e729594f20187b10dd018741a556e081292505e8 /ipacm/src/IPACM_Config.cpp | |
parent | 6def9112f39584d86abb522b525a13e050f44f7f (diff) | |
download | ipacfg-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.cpp | 25 |
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 ; } |