From 014ddb4fe6ac5ea69f2ecc5ea6cf1c2d0da2ea91 Mon Sep 17 00:00:00 2001 From: Wonnam Jang Date: Mon, 24 Oct 2016 16:58:24 +0900 Subject: [PATCH] Check manager client is available or not when vcd start, stop, cancel Change-Id: I1e9eb235ab56bea17fc80b856618ddf6d6b07644 Signed-off-by: Wonnam Jang --- server/vcd_server.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/vcd_server.c b/server/vcd_server.c index 843b587..632eb4f 100644 --- a/server/vcd_server.c +++ b/server/vcd_server.c @@ -1525,6 +1525,10 @@ int vcd_server_mgr_start(vcd_recognition_mode_e recognition_mode, bool exclusive SLOG(LOG_ERROR, TAG_VCD, "[Server ERROR] Current state is not ready"); return VCD_ERROR_INVALID_STATE; } + if (-1 != vcd_client_manager_get_pid()) { + SLOG(LOG_DEBUG, TAG_VCD, "[Server] Manager is NOT available."); + return VCD_ERROR_OPERATION_FAILED; + } SLOG(LOG_DEBUG, TAG_VCD, "[Server] set recognition mode = %d", recognition_mode); vcd_client_set_recognition_mode(recognition_mode); @@ -1574,6 +1578,10 @@ int vcd_server_mgr_stop() SLOG(LOG_ERROR, TAG_VCD, "[Server ERROR] Current state is not recording"); return VCD_ERROR_INVALID_STATE; } + if (-1 != vcd_client_manager_get_pid()) { + SLOG(LOG_DEBUG, TAG_VCD, "[Server] Manager is NOT available."); + return VCD_ERROR_OPERATION_FAILED; + } /* 2. Stop recorder */ vcd_recorder_stop(); @@ -1599,6 +1607,10 @@ int vcd_server_mgr_cancel() SLOG(LOG_WARN, TAG_VCD, "[Server ERROR] Current state is not recording or processing"); return VCD_ERROR_INVALID_STATE; } + if (-1 != vcd_client_manager_get_pid()) { + SLOG(LOG_DEBUG, TAG_VCD, "[Server] Manager is NOT available."); + return VCD_ERROR_OPERATION_FAILED; + } if (g_restart_timer != NULL) { SLOG(LOG_WARN, TAG_VCD, "[Server WARNING] Delete restart engine timer"); -- 2.7.4