Check manager client is available or not when vcd start, stop, cancel 19/93419/1
authorWonnam Jang <wn.jang@samsung.com>
Mon, 24 Oct 2016 07:58:24 +0000 (16:58 +0900)
committerWonnam Jang <wn.jang@samsung.com>
Mon, 24 Oct 2016 07:58:24 +0000 (16:58 +0900)
Change-Id: I1e9eb235ab56bea17fc80b856618ddf6d6b07644
Signed-off-by: Wonnam Jang <wn.jang@samsung.com>
server/vcd_server.c

index 843b587..632eb4f 100644 (file)
@@ -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");