X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frecorder.c;h=30a9cbeb06b6bb49fbafb35f1e9e6093fc0deaeb;hb=fe143e4ae1d9a0d35a19511d3757606ec055c01a;hp=1b6bd7969f2bc0e538741e76f575d152bb360e19;hpb=0c44b44707c8b1e0b3fd0372f9ecb83dfd51486d;p=platform%2Fcore%2Fapi%2Frecorder.git diff --git a/src/recorder.c b/src/recorder.c index 1b6bd79..30a9cbe 100644 --- a/src/recorder.c +++ b/src/recorder.c @@ -1234,16 +1234,22 @@ static int _recorder_client_wait_for_cb_return(muse_recorder_api_e api, recorder g_mutex_lock(&(cb_info->api_mutex[api])); if (cb_info->api_activating[api] == 0) { - end_time = g_get_monotonic_time() + time_out * G_TIME_SPAN_SECOND; - if (g_cond_wait_until(&(cb_info->api_cond[api]), &(cb_info->api_mutex[api]), end_time)) { + if (time_out == RECORDER_CB_NO_TIMEOUT) { + LOGW("wait for api %d", api); + g_cond_wait(&(cb_info->api_cond[api]), &(cb_info->api_mutex[api])); ret = cb_info->api_ret[api]; cb_info->api_activating[api] = 0; - - /*LOGD("return value : 0x%x", ret);*/ + LOGW("api %d returned 0x%x", api, ret); } else { - ret = RECORDER_ERROR_INVALID_OPERATION; - - LOGE("api %d was TIMED OUT!", api); + end_time = g_get_monotonic_time() + time_out * G_TIME_SPAN_SECOND; + if (g_cond_wait_until(&(cb_info->api_cond[api]), &(cb_info->api_mutex[api]), end_time)) { + ret = cb_info->api_ret[api]; + cb_info->api_activating[api] = 0; + /*LOGD("return value : 0x%x", ret);*/ + } else { + ret = RECORDER_ERROR_INVALID_OPERATION; + LOGE("api %d was TIMED OUT!", api); + } } } else { ret = cb_info->api_ret[api]; @@ -1545,7 +1551,7 @@ static int _recorder_create_common(recorder_h *recorder, muse_recorder_type_e ty sock_fd = -1; - ret = _recorder_client_wait_for_cb_return(MUSE_RECORDER_API_CREATE, pc->cb_info, RECORDER_CB_TIMEOUT); + ret = _recorder_client_wait_for_cb_return(MUSE_RECORDER_API_CREATE, pc->cb_info, RECORDER_CB_NO_TIMEOUT); pc->cb_info->api_waiting[MUSE_RECORDER_API_CREATE] = 0;