From 9dc76cf6cba8317e49f1a8228d59daca7bcc90c4 Mon Sep 17 00:00:00 2001 From: Wonnam Jang Date: Thu, 27 Apr 2017 14:52:11 +0900 Subject: [PATCH] Fix internal state error when api is called in thread Change-Id: I9801d00d4c56246eaa686e0f40497b2c7a639657 Signed-off-by: Wonnam Jang --- client/stt.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/client/stt.c b/client/stt.c index 149ac44..b082568 100644 --- a/client/stt.c +++ b/client/stt.c @@ -1592,12 +1592,13 @@ int stt_start(stt_h stt, const char* language, const char* type) return STT_ERROR_PERMISSION_DENIED; } + client->internal_state = STT_INTERNAL_STATE_STARTING; ret = stt_dbus_request_start(client->uid, temp, type, client->silence, appid, client->credential); if (0 != ret) { SLOG(LOG_ERROR, TAG_STTC, "[ERROR] Fail to start : %s", __stt_get_error_code(ret)); + client->internal_state = STT_INTERNAL_STATE_NONE; } else { SLOG(LOG_DEBUG, TAG_STTC, "[SUCCESS] Start is successful but not done"); - client->internal_state = STT_INTERNAL_STATE_STARTING; } if (NULL != temp) free(temp); @@ -1640,13 +1641,13 @@ int stt_stop(stt_h stt) return STT_ERROR_IN_PROGRESS_TO_PROCESSING; } + client->internal_state = STT_INTERNAL_STATE_STOPPING; int ret = stt_dbus_request_stop(client->uid); - if (0 != ret) { SLOG(LOG_ERROR, TAG_STTC, "[ERROR] Fail to stop : %s", __stt_get_error_code(ret)); + client->internal_state = STT_INTERNAL_STATE_NONE; } else { SLOG(LOG_DEBUG, TAG_STTC, "[SUCCESS] Stop is successful but not done"); - client->internal_state = STT_INTERNAL_STATE_STOPPING; } SLOG(LOG_DEBUG, TAG_STTC, "====="); @@ -1688,12 +1689,13 @@ int stt_cancel(stt_h stt) return STT_ERROR_IN_PROGRESS_TO_READY; } + client->internal_state = STT_INTERNAL_STATE_CANCELING; int ret = stt_dbus_request_cancel(client->uid); if (0 != ret) { SLOG(LOG_ERROR, TAG_STTC, "[ERROR] Fail to cancel : %s", __stt_get_error_code(ret)); + client->internal_state = STT_INTERNAL_STATE_NONE; } else { SLOG(LOG_DEBUG, TAG_STTC, "[SUCCESS] Cancel is successful but not done"); - client->internal_state = STT_INTERNAL_STATE_CANCELING; } SLOG(LOG_DEBUG, TAG_STTC, "====="); -- 2.7.4