From ea35e5fbce354d1c0e5650519803d8513ee33a40 Mon Sep 17 00:00:00 2001 From: Gukhwan Cho Date: Tue, 21 Jul 2015 14:43:11 +0900 Subject: [PATCH] fixed bug:delete handle after using it Change-Id: If108a70c801d46e31cf04312b58f7b947094b67d Signed-off-by: Gukhwan Cho --- client/ctsvc_client_ipc.c | 2 -- client/ctsvc_client_noti.c | 2 +- client/ctsvc_client_service_helper.c | 7 ++++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/client/ctsvc_client_ipc.c b/client/ctsvc_client_ipc.c index f7ef04e..b7c424d 100644 --- a/client/ctsvc_client_ipc.c +++ b/client/ctsvc_client_ipc.c @@ -160,7 +160,6 @@ int ctsvc_ipc_connect(contacts_h contact, unsigned int handle_id) struct ctsvc_ipc_s *ipc_data = NULL; char ipc_key[CTSVC_STR_SHORT_LEN] = {0}; - RETV_IF(_ctsvc_ipc_disconnected, CONTACTS_ERROR_IPC_NOT_AVALIABLE); snprintf(ipc_key, sizeof(ipc_key), "%u", handle_id); if (NULL == _ctsvc_ipc_table) @@ -197,7 +196,6 @@ int ctsvc_ipc_disconnect(contacts_h contact, unsigned int handle_id, int connect pims_ipc_data_h indata = NULL; char ipc_key[CTSVC_STR_SHORT_LEN] = {0}; - RETV_IF(_ctsvc_ipc_disconnected, CONTACTS_ERROR_IPC_NOT_AVALIABLE); RETVM_IF(NULL == _ctsvc_ipc_table, CONTACTS_ERROR_IPC, "contacts not connected"); snprintf(ipc_key, sizeof(ipc_key), "%u", handle_id); diff --git a/client/ctsvc_client_noti.c b/client/ctsvc_client_noti.c index 47b91d1..23d2ed2 100644 --- a/client/ctsvc_client_noti.c +++ b/client/ctsvc_client_noti.c @@ -138,8 +138,8 @@ int ctsvc_ipc_destroy_for_change_subscription() ctsvc_mutex_lock(CTS_MUTEX_PIMS_IPC_PUBSUB); if (1 == __ipc_pubsub_ref) { - pims_ipc_destroy_for_subscribe(__ipc); ctsvc_ipc_unset_disconnected_cb(__ipc); + pims_ipc_destroy_for_subscribe(__ipc); __ipc = NULL; } else if (1 < __ipc_pubsub_ref) { diff --git a/client/ctsvc_client_service_helper.c b/client/ctsvc_client_service_helper.c index 6d4207b..c989092 100644 --- a/client/ctsvc_client_service_helper.c +++ b/client/ctsvc_client_service_helper.c @@ -91,6 +91,7 @@ int ctsvc_client_connect(contacts_h contact) CTS_FN_CALL; int ret; ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); if (0 == base->connection_count) { @@ -137,9 +138,11 @@ int ctsvc_client_disconnect(contacts_h contact) { CTS_FN_CALL; int ret; + ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); + ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); - ctsvc_base_s *base = (ctsvc_base_s *)contact; if (1 == base->connection_count) { ret = ctsvc_ipc_disconnect(contact, ctsvc_client_get_pid(), _ctsvc_connection); if (ret != CONTACTS_ERROR_NONE) { @@ -176,6 +179,7 @@ int ctsvc_client_connect_on_thread(contacts_h contact) { int ret; ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); @@ -224,6 +228,7 @@ int ctsvc_client_disconnect_on_thread(contacts_h contact) { int ret; ctsvc_base_s *base = (ctsvc_base_s *)contact; + RETV_IF(NULL == base, CONTACTS_ERROR_INVALID_PARAMETER); ctsvc_mutex_lock(CTS_MUTEX_CONNECTION); -- 2.7.4