* If instance_unref returns NULL,
* The instance is destroyed. it means, we don't need to send event to the viewer
*/
- free(cbdata);
+ DbgFree(cbdata);
return ECORE_CALLBACK_CANCEL;
}
instance_del_client(item->inst, item->client);
}
- client_unref(item->client);
- instance_unref(item->inst);
+ (void)client_unref(item->client);
+ (void)instance_unref(item->inst);
DbgFree(item);
return ECORE_CALLBACK_CANCEL;
}
if (!ecore_timer_add(DELAY_TIME, lazy_delete_cb, item)) {
ErrPrint("Failed to add a delayzed delete callback\n");
- client_unref(client);
- instance_unref(inst);
+ (void)client_unref(client);
+ (void)instance_unref(inst);
DbgFree(item);
ret = LB_STATUS_ERROR_FAULT;
} else {
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
DbgPrint("Failed to add timer\n");
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
DbgPrint("Timer is added\n");
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
cbdata->status = ret;
if (!ecore_timer_add(DELAY_TIME, lazy_access_status_cb, cbdata)) {
- instance_unref(cbdata->inst);
- free(cbdata);
+ (void)instance_unref(cbdata->inst);
+ DbgFree(cbdata);
ret = LB_STATUS_ERROR_FAULT;
} else {
ret = LB_STATUS_SUCCESS;
tmp_ret = instance_slave_close_pd(inst, client);
ErrPrint("Unable to send script event for openning PD [%s], %d\n", pkgname, tmp_ret);
} else {
- Ecore_Timer *pd_open_monitor;
+ Ecore_Timer *pd_monitor;
- inst = instance_ref(inst);
- pd_open_monitor = ecore_timer_add(PD_REQUEST_TIMEOUT, pd_open_monitor_cb, inst);
- if (!pd_open_monitor) {
- instance_unref(inst);
+ pd_monitor = ecore_timer_add(PD_REQUEST_TIMEOUT, pd_open_monitor_cb, instance_ref(inst));
+ if (!pd_monitor) {
+ (void)instance_unref(inst);
ErrPrint("Failed to create a timer for PD Open monitor\n");
} else {
- (void)instance_set_data(inst, "pd,open,monitor", pd_open_monitor);
+ (void)instance_set_data(inst, "pd,open,monitor", pd_monitor);
}
}
} else {
ret = LB_STATUS_ERROR_CANCEL;
(void)instance_client_pd_created(inst, ret);
- instance_unref(inst);
ecore_timer_del(pd_monitor);
+ (void)instance_unref(inst);
goto out;
}
if (ret < 0) {
ErrPrint("PD close request failed: %d\n", ret);
} else {
- inst = instance_ref(inst);
-
- pd_monitor = ecore_timer_add(PD_REQUEST_TIMEOUT, pd_close_monitor_cb, inst);
+ pd_monitor = ecore_timer_add(PD_REQUEST_TIMEOUT, pd_close_monitor_cb, instance_ref(inst));
if (!pd_monitor) {
(void)instance_unref(inst);
ErrPrint("Failed to add pd close monitor\n");
timer = ecore_timer_add(DELAY_TIME, lazy_pd_destroyed_cb, inst);
if (!timer) {
ErrPrint("Failed to create a timer: %s\n", pkgname);
- instance_unref(inst);
+ (void)instance_unref(inst);
/*!
* How can we handle this?
*/
}
} else if (target == TYPE_PD && package_pd_type(pkg) == PD_TYPE_BUFFER) {
struct buffer_info *info;
- Ecore_Timer *pd_open_monitor;
+ Ecore_Timer *pd_monitor;
- pd_open_monitor = instance_del_data(inst, "pd,open,monitor");
- if (!pd_open_monitor)
+ pd_monitor = instance_del_data(inst, "pd,open,monitor");
+ if (!pd_monitor)
goto out;
- ecore_timer_del(pd_open_monitor);
+ ecore_timer_del(pd_monitor);
+ inst = instance_unref(inst);
+ if (!inst) {
+ ErrPrint("Instance refcnt is ZERO: %s\n", pkgname);
+ goto out;
+ }
info = instance_pd_buffer(inst);
if (!info) {
ret = LB_STATUS_ERROR_INVALID;
- if (instance_state(inst) == INST_DESTROYED) {
- ErrPrint("Package[%s] instance is already destroyed\n", pkgname);
- goto out;
- }
-
if (type == TYPE_LB && package_lb_type(pkg) == LB_TYPE_BUFFER) {
struct buffer_info *info;
ret = buffer_handler_unload(info);
} else if (type == TYPE_PD && package_pd_type(pkg) == PD_TYPE_BUFFER) {
struct buffer_info *info;
- Ecore_Timer *pd_close_monitor;
+ Ecore_Timer *pd_monitor;
- pd_close_monitor = instance_del_data(inst, "pd,close,monitor");
- if (!pd_close_monitor) {
+ pd_monitor = instance_del_data(inst, "pd,close,monitor");
+ if (!pd_monitor) {
ErrPrint("There is no requests to release pd buffer\n");
/*!
* \note
* which will be checked by instance_client_pd_destroyed function.
*/
} else {
- ecore_timer_del(pd_close_monitor);
+ ecore_timer_del(pd_monitor);
+ inst = instance_unref(inst);
+ if (!inst) {
+ ErrPrint("Instance is released: %s\n", pkgname);
+ ret = LB_STATUS_ERROR_FAULT;
+ goto out;
+ }
}
info = instance_pd_buffer(inst);